Lines Matching refs:Expression
29 class IndexExpression final : public Expression {
33 IndexExpression(const Context& context, Position pos, std::unique_ptr<Expression> base, in IndexExpression()
34 std::unique_ptr<Expression> index) in IndexExpression()
40 static std::unique_ptr<Expression> Convert(const Context& context,
42 std::unique_ptr<Expression> base,
43 std::unique_ptr<Expression> index);
46 static std::unique_ptr<Expression> Make(const Context& context,
48 std::unique_ptr<Expression> base,
49 std::unique_ptr<Expression> index);
56 std::unique_ptr<Expression>& base() { in base()
60 const std::unique_ptr<Expression>& base() const { in base()
64 std::unique_ptr<Expression>& index() { in index()
68 const std::unique_ptr<Expression>& index() const { in index()
72 std::unique_ptr<Expression> clone(Position pos) const override { in clone()
73 return std::unique_ptr<Expression>(new IndexExpression(pos, this->base()->clone(), in clone()
80 using INHERITED = Expression;
83 IndexExpression(Position pos, std::unique_ptr<Expression> base, in IndexExpression()
84 std::unique_ptr<Expression> index, const Type* type) in IndexExpression()
89 std::unique_ptr<Expression> fBase;
90 std::unique_ptr<Expression> fIndex;