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.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 arrays, returns either the size of the array (if known) or -1 (unsized).intFor type that contains scalars, returns the number of scalars.@NonNull TypeFor matrices and vectors, returns the scalar type of individual cells (e.g.@NonNull TypeFor arrays, returns the base type.booleanisArray()booleanMethods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, getArrayName, 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, toVectorMethods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
isArray
public boolean isArray() -
isUnsizedArray
public boolean isUnsizedArray()- Overrides:
isUnsizedArrayin classType
-
getArraySize
public int getArraySize()Description copied from class:TypeFor arrays, returns either the size of the array (if known) or -1 (unsized). For all other types, causes an assertion failure.- Overrides:
getArraySizein classType
-
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
-
getElementType
Description copied from class:TypeFor 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:
getElementTypein classType
-
getComponentType
Description copied from class:TypeFor 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:
getComponentTypein classType
-