Lines Matching refs:Expression
18 class TernaryExpression final : public Expression {
22 TernaryExpression(int line, std::unique_ptr<Expression> test,
23 std::unique_ptr<Expression> ifTrue, std::unique_ptr<Expression> ifFalse)
33 static std::unique_ptr<Expression> Convert(const Context& context,
34 std::unique_ptr<Expression> test,
35 std::unique_ptr<Expression> ifTrue,
36 std::unique_ptr<Expression> ifFalse);
39 static std::unique_ptr<Expression> Make(const Context& context,
40 std::unique_ptr<Expression> test,
41 std::unique_ptr<Expression> ifTrue,
42 std::unique_ptr<Expression> ifFalse);
44 std::unique_ptr<Expression>& test() {
48 const std::unique_ptr<Expression>& test() const {
52 std::unique_ptr<Expression>& ifTrue() {
56 const std::unique_ptr<Expression>& ifTrue() const {
60 std::unique_ptr<Expression>& ifFalse() {
64 const std::unique_ptr<Expression>& ifFalse() const {
78 std::unique_ptr<Expression> clone() const override {
90 std::unique_ptr<Expression> fTest;
91 std::unique_ptr<Expression> fIfTrue;
92 std::unique_ptr<Expression> fIfFalse;
94 using INHERITED = Expression;