Lines Matching refs:Expression
20 struct IndexExpression final : public Expression {
23 IndexExpression(const Context& context, std::unique_ptr<Expression> base,
24 std::unique_ptr<Expression> index)
30 static std::unique_ptr<Expression> Convert(const Context& context,
32 std::unique_ptr<Expression> base,
33 std::unique_ptr<Expression> index);
36 static std::unique_ptr<Expression> Make(const Context& context,
37 std::unique_ptr<Expression> base,
38 std::unique_ptr<Expression> index);
45 std::unique_ptr<Expression>& base() {
49 const std::unique_ptr<Expression>& base() const {
53 std::unique_ptr<Expression>& index() {
57 const std::unique_ptr<Expression>& index() const {
65 std::unique_ptr<Expression> clone() const override {
66 return std::unique_ptr<Expression>(new IndexExpression(this->base()->clone(),
75 using INHERITED = Expression;
78 IndexExpression(std::unique_ptr<Expression> base, std::unique_ptr<Expression> index,
84 std::unique_ptr<Expression> fBase;
85 std::unique_ptr<Expression> fIndex;