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.VectorType
Nested 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 TypeMethodDescriptionint
For type that contains scalars, returns the number of scalars.int
If the type is a struct, returns the depth of the most deeply-nested field.boolean
boolean
isStruct()
Methods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, 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, toVector
Methods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
isStruct
public boolean isStruct() -
isInterfaceBlock
public boolean isInterfaceBlock()- Overrides:
isInterfaceBlock
in classType
-
getFields
-
getComponents
public int getComponents()Description copied from class:Type
For type that contains scalars, returns the number of scalars. For all other types, causes an assertion failure.- Overrides:
getComponents
in classType
-
getNestingDepth
public int getNestingDepth()Description copied from class:Type
If the type is a struct, returns the depth of the most deeply-nested field.- Overrides:
getNestingDepth
in classType
-