Lines Matching refs:Expression
30 class TernaryExpression final : public Expression {
34 TernaryExpression(Position pos, std::unique_ptr<Expression> test, in TernaryExpression()
35 std::unique_ptr<Expression> ifTrue, std::unique_ptr<Expression> ifFalse) in TernaryExpression()
45 static std::unique_ptr<Expression> Convert(const Context& context,
47 std::unique_ptr<Expression> test,
48 std::unique_ptr<Expression> ifTrue,
49 std::unique_ptr<Expression> ifFalse);
52 static std::unique_ptr<Expression> Make(const Context& context,
54 std::unique_ptr<Expression> test,
55 std::unique_ptr<Expression> ifTrue,
56 std::unique_ptr<Expression> ifFalse);
58 std::unique_ptr<Expression>& test() { in test()
62 const std::unique_ptr<Expression>& test() const { in test()
66 std::unique_ptr<Expression>& ifTrue() { in ifTrue()
70 const std::unique_ptr<Expression>& ifTrue() const { in ifTrue()
74 std::unique_ptr<Expression>& ifFalse() { in ifFalse()
78 const std::unique_ptr<Expression>& ifFalse() const { in ifFalse()
82 std::unique_ptr<Expression> clone(Position pos) const override { in clone()
91 std::unique_ptr<Expression> fTest;
92 std::unique_ptr<Expression> fIfTrue;
93 std::unique_ptr<Expression> fIfFalse;
95 using INHERITED = Expression;