Lines Matching refs:Expression
22 struct Swizzle final : public Expression {
25 Swizzle(const Context& context, std::unique_ptr<Expression> base,
37 static std::unique_ptr<Expression> Convert(const Context& context,
38 std::unique_ptr<Expression> base,
41 static std::unique_ptr<Expression> Convert(const Context& context,
42 std::unique_ptr<Expression> base,
47 static std::unique_ptr<Expression> Make(const Context& context,
48 std::unique_ptr<Expression> expr,
51 std::unique_ptr<Expression>& base() {
55 const std::unique_ptr<Expression>& base() const {
67 std::unique_ptr<Expression> clone() const override {
68 return std::unique_ptr<Expression>(new Swizzle(&this->type(), this->base()->clone(),
81 Swizzle(const Type* type, std::unique_ptr<Expression> base, const ComponentArray& components)
88 std::unique_ptr<Expression> fBase;
91 using INHERITED = Expression;