Class ArrayFactory.ArrayCreator.ForReferenceType

java.lang.Object
net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType
All Implemented Interfaces:
ArrayFactory.ArrayCreator, StackManipulation
Enclosing interface:
ArrayFactory.ArrayCreator

@Enhance public static class ArrayFactory.ArrayCreator.ForReferenceType extends StackManipulation.AbstractBase implements ArrayFactory.ArrayCreator
An array creator implementation for reference types.
  • Field Details

    • internalTypeName

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

    • 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 Details

    • 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.