Lines Matching refs:Expression
30 class BinaryExpression final : public Expression {
34 BinaryExpression(Position pos, std::unique_ptr<Expression> left, Operator op, in BinaryExpression()
35 std::unique_ptr<Expression> right, const Type* type) in BinaryExpression()
46 static std::unique_ptr<Expression> Convert(const Context& context,
48 std::unique_ptr<Expression> left,
50 std::unique_ptr<Expression> right);
54 static std::unique_ptr<Expression> Make(const Context& context,
56 std::unique_ptr<Expression> left,
58 std::unique_ptr<Expression> right);
62 static std::unique_ptr<Expression> Make(const Context& context,
64 std::unique_ptr<Expression> left,
66 std::unique_ptr<Expression> right,
69 std::unique_ptr<Expression>& left() { in left()
73 const std::unique_ptr<Expression>& left() const { in left()
77 std::unique_ptr<Expression>& right() { in right()
81 const std::unique_ptr<Expression>& right() const { in right()
89 std::unique_ptr<Expression> clone(Position pos) const override;
101 static bool CheckRef(const Expression& expr);
103 std::unique_ptr<Expression> fLeft;
105 std::unique_ptr<Expression> fRight;
107 using INHERITED = Expression;