8#ifndef SKSL_PREFIXEXPRESSION
9#define SKSL_PREFIXEXPRESSION
39 std::unique_ptr<Expression>
base);
43 std::unique_ptr<Expression>
base);
53 const std::unique_ptr<Expression>&
operand()
const {
58 return std::make_unique<PrefixExpression>(
pos, this->
getOperator(),
66 std::unique_ptr<Expression> fOperand;
std::unique_ptr< Expression > clone() const
Expression(Position pos, Kind kind, const Type *type)
const Type & type() const
std::string description() const final
PrefixExpression(Position pos, Operator op, std::unique_ptr< Expression > operand)
static std::unique_ptr< Expression > Make(const Context &context, Position pos, Operator op, std::unique_ptr< Expression > base)
Operator getOperator() const
static std::unique_ptr< Expression > Convert(const Context &context, Position pos, Operator op, std::unique_ptr< Expression > base)
const std::unique_ptr< Expression > & operand() const
std::unique_ptr< Expression > clone(Position pos) const override
std::unique_ptr< Expression > & operand()
static constexpr Kind kIRNodeKind