Package icyllis.arc3d.compiler.tree
Class ConstructorMatrixResize
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Expression
icyllis.arc3d.compiler.tree.ConstructorCall
icyllis.arc3d.compiler.tree.ConstructorMatrixResize
Represents the construction of a matrix resize operation, such as `mat4x4(myMat2x2)`.
These always contain exactly 1 matrix of non-matching size. Cells that aren't present in the input matrix are populated with the identity matrix.
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node
Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind -
Field Summary
-
Method Summary
Modifier and TypeMethodDescription@NonNull Expressioncopy(int position) @NonNull OptionalDoublegetConstantValue(int i) Returns the i'th compile-time constant value within a literal or constructor.getKind()static @NonNull Expressionmake(int position, @NonNull Type type, @NonNull Expression arg) Methods inherited from class icyllis.arc3d.compiler.tree.ConstructorCall
convert, getArgument, getArguments, getComponentType, isConstructorCall, toStringMethods inherited from class icyllis.arc3d.compiler.tree.Expression
accept, copy, getCoercionCost, getType, isBooleanLiteral, isFloatLiteral, isIncomplete, isIntLiteral, isLiteral, toStringMethods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
make
-
getKind
- Specified by:
getKindin classExpression- See Also:
-
getConstantValue
Description copied from class:ExpressionReturns the i'th compile-time constant value within a literal or constructor. Indices which do not contain compile-time constant values will return empty. `vec4(1, vec2(2), 3)` contains four compile-time constants: (1, 2, 2, 3) `mat2(f)` contains four slots, and two are constant: (empty, 0, 0, empty)- Overrides:
getConstantValuein classConstructorCall
-
copy
- Specified by:
copyin classExpression
-