26 switch (expr.
kind()) {
28 case Expression::Kind::kVariableReference:
31 case Expression::Kind::kSwizzle:
35 case Expression::Kind::kPrefix: {
37 switch (
prefix.getOperator().kind()) {
48 case Expression::Kind::kFieldAccess:
57 case Expression::Kind::kConstructorArray:
58 case Expression::Kind::kConstructorStruct:
62 case Expression::Kind::kConstructorArrayCast:
63 case Expression::Kind::kConstructorMatrixResize:
67 case Expression::Kind::kConstructorCompound:
71 case Expression::Kind::kConstructorCompoundCast:
72 case Expression::Kind::kConstructorScalarCast:
73 case Expression::Kind::kConstructorSplat:
74 case Expression::Kind::kConstructorDiagonalMatrix: {
virtual SkSpan< std::unique_ptr< Expression > > argumentSpan()=0
const Type & type() const
AnyConstructor & asAnyConstructor()
std::unique_ptr< Expression > & base()
std::unique_ptr< Expression > & base()
std::unique_ptr< Expression > & index()
std::unique_ptr< Expression > & base()
virtual size_t slotCount() const
bool IsTrivialExpression(const Expression &expr)
constexpr bool IsCompileTimeConstant(const T)