Package icyllis.arc3d.compiler.tree
Class Type.StructType
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol
icyllis.arc3d.compiler.tree.Type
icyllis.arc3d.compiler.tree.Type.StructType
- Enclosing class:
Type
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Type
Type.AliasType, Type.ArrayType, Type.CoercionCost, Type.Field, Type.GenericType, Type.ImageType, Type.MatrixType, Type.SamplerType, Type.ScalarType, Type.StructType, Type.VectorTypeNested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node
Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind -
Field Summary
Fields inherited from class icyllis.arc3d.compiler.tree.Type
kArray_TypeKind, kBoolean_ScalarKind, kFloat_ScalarKind, kGeneric_TypeKind, kMatrix_TypeKind, kMaxNestingDepth, kNonScalar_ScalarKind, kOther_TypeKind, kSampler_TypeKind, kScalar_TypeKind, kSigned_ScalarKind, kStruct_TypeKind, kUnsigned_ScalarKind, kUnsizedArray, kVector_TypeKind, kVoid_TypeKind -
Method Summary
Modifier and TypeMethodDescriptionintFor type that contains scalars, returns the number of scalars.@Unmodifiable List<Type.Field> intIf the type is a struct, returns the depth of the most deeply-nested field.booleanbooleanisStruct()Methods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, getArrayName, getArrayName, getArraySize, getCoercibleTypes, getCoercionCost, getCols, getComponentType, getDesc, getDimensions, getElementType, getKind, getMaxValue, getMinValue, getMinWidth, getRank, getRows, getScalarKind, getType, getTypeKind, getWidth, isArray, isArrayed, isBoolean, isBooleanOrCompound, isCombinedSampler, isFloat, isFloatOrCompound, isGeneric, isInBuiltinTypes, isInteger, isMatrix, isMultiSampled, isNumeric, isOpaque, isRelaxedPrecision, isSampled, isScalar, isSeparateSampler, isShadow, isSigned, isSignedOrCompound, isStorageImage, isUnsigned, isUnsignedOrCompound, isUnsizedArray, isUsableInArray, isVector, isVoid, makeAliasType, makeAliasType, makeArrayType, makeCombinedType, makeGenericType, makeImageType, makeMatrixType, makeSamplerType, makeScalarType, makeScalarType, makeSeparateType, makeSpecialType, makeStructType, makeTextureType, makeVectorType, matches, resolve, toCompound, toString, toVectorMethods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
isStruct
public boolean isStruct() -
isInterfaceBlock
public boolean isInterfaceBlock()- Overrides:
isInterfaceBlockin classType
-
getFields
-
getComponents
public int getComponents()Description copied from class:TypeFor type that contains scalars, returns the number of scalars. For all other types, causes an assertion failure.- Overrides:
getComponentsin classType
-
getNestingDepth
public int getNestingDepth()Description copied from class:TypeIf the type is a struct, returns the depth of the most deeply-nested field.- Overrides:
getNestingDepthin classType
-