Package icyllis.arc3d.compiler.tree
Class Type.ArrayType
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol
icyllis.arc3d.compiler.tree.Type
icyllis.arc3d.compiler.tree.Type.ArrayType
- 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 arrays, returns either the size of the array (if known) or -1 (unsized).int
For type that contains scalars, returns the number of scalars.For matrices and vectors, returns the scalar type of individual cells (e.g.For arrays, returns the base type.boolean
isArray()
boolean
Methods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, getArrayName, getCoercibleTypes, getCoercionCost, getCols, getDesc, getDimensions, getFields, getKind, getMaxValue, getMinValue, getMinWidth, getNestingDepth, getRank, getRows, getScalarKind, getType, getTypeKind, getWidth, isArrayed, isBoolean, isBooleanOrCompound, isCombinedSampler, isFloat, isFloatOrCompound, isGeneric, isInBuiltinTypes, isInteger, isInterfaceBlock, isMatrix, isMultiSampled, isNumeric, isOpaque, isRelaxedPrecision, isSampled, isScalar, isSeparateSampler, isShadow, isSigned, isSignedOrCompound, isStorageImage, isStruct, isUnsigned, isUnsignedOrCompound, 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
-
isArray
public boolean isArray() -
isUnsizedArray
public boolean isUnsizedArray()- Overrides:
isUnsizedArray
in classType
-
getArraySize
public int getArraySize()Description copied from class:Type
For arrays, returns either the size of the array (if known) or -1 (unsized). For all other types, causes an assertion failure.- Overrides:
getArraySize
in classType
-
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
-
getElementType
Description copied from class:Type
For arrays, returns the base type. For matrices, returns the column vector type. For vectors, returns the scalar type. For all other types, returns the type itself.- Overrides:
getElementType
in classType
-
getComponentType
Description copied from class:Type
For matrices and vectors, returns the scalar type of individual cells (e.g. mat2 has a component type of Float). For textures, returns the sampled type (e.g. texture2D has a component type of Float). For arrays, returns the component type of their base type. For all other types, returns the type itself.- Overrides:
getComponentType
in classType
-