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

public final class ConstructorMatrixResize extends ConstructorCall
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

  ### Fields inherited from class icyllis.arc3d.compiler.tree.Node

  `mPosition`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Expression`
  `clone(int position)`
  `OptionalDouble`
  `getConstantValue(int i)`
  Returns the i'th compile-time constant value within a literal or constructor.
  `Node.ExpressionKind`
  `getKind()`
  `static Expression`
  `make(int position, Type type, Expression arg)`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.ConstructorCall

  `accept, convert, getArgument, getArguments, getComponentType, isConstructorCall, toString`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Expression

  `clone, getCoercionCost, getType, isBooleanLiteral, isFloatLiteral, isIncomplete, isIntLiteral, isLiteral, toString`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Node

  `getEndOffset, getStartOffset`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### make

    @Nonnull public static Expression make(int position, @Nonnull Type type, @Nonnull Expression arg)

  - ### getKind

    public Node.ExpressionKind getKind()
    Specified by:
      `getKind` in class `Expression`
    See Also:
      - `Node.ExpressionKind`

  - ### getConstantValue

    public OptionalDouble getConstantValue(int i)
    Description copied from class: `Expression`
    Returns 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:
      `getConstantValue` in class `ConstructorCall`

  - ### clone

    @Nonnull public Expression clone(int position)
    Specified by:
      `clone` in class `Expression`