Lines Matching refs:Expression
26 class BinaryExpression final : public Expression {
30 BinaryExpression(int line, std::unique_ptr<Expression> left, Operator op,
31 std::unique_ptr<Expression> right, const Type* type)
42 static std::unique_ptr<Expression> Convert(const Context& context,
43 std::unique_ptr<Expression> left,
45 std::unique_ptr<Expression> right);
49 static std::unique_ptr<Expression> Make(const Context& context,
50 std::unique_ptr<Expression> left,
52 std::unique_ptr<Expression> right);
56 static std::unique_ptr<Expression> Make(const Context& context,
57 std::unique_ptr<Expression> left,
59 std::unique_ptr<Expression> right,
62 std::unique_ptr<Expression>& left() {
66 const std::unique_ptr<Expression>& left() const {
70 std::unique_ptr<Expression>& right() {
74 const std::unique_ptr<Expression>& right() const {
93 std::unique_ptr<Expression> clone() const override;
98 static bool CheckRef(const Expression& expr);
100 std::unique_ptr<Expression> fLeft;
102 std::unique_ptr<Expression> fRight;
104 using INHERITED = Expression;