Class ArrayFactory.ArrayCreator.ForReferenceType

    • Field Detail

      • internalTypeName

        private final java.lang.String internalTypeName
        The internal name of this array's non-primitive component type.
    • Constructor Detail

      • ForReferenceType

        protected ForReferenceType​(TypeDescription referenceType)
        Creates a new array creator for a reference type.
        Parameters:
        referenceType - The internal name of this array's non-primitive component type.
    • Method Detail

      • isValid

        public boolean isValid()
        Determines if this stack manipulation is valid.
        Specified by:
        isValid in interface StackManipulation
        Returns:
        If false, this manipulation cannot be applied and should throw an exception.
      • apply

        public StackManipulation.Size apply​(org.objectweb.asm.MethodVisitor methodVisitor,
                                            Implementation.Context implementationContext)
        Applies the stack manipulation that is described by this instance.
        Specified by:
        apply in interface StackManipulation
        Parameters:
        methodVisitor - The method visitor used to write the method implementation to.
        implementationContext - The context of the current implementation.
        Returns:
        The changes to the size of the operand stack that are implied by this stack manipulation.
      • getStorageOpcode

        public int getStorageOpcode()
        The opcode instruction for storing a value of the component type inside an array.
        Specified by:
        getStorageOpcode in interface ArrayFactory.ArrayCreator
        Returns:
        The correct storage opcode for the represented type.