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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ArrayFactory.ArrayCreator
ArrayFactory.ArrayCreator.ForPrimitiveType, ArrayFactory.ArrayCreator.ForReferenceTypeNested classes/interfaces inherited from interface StackManipulation
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StringThe internal name of this array's non-primitive component type.Fields inherited from interface ArrayFactory.ArrayCreator
ARRAY_CREATION_SIZE_CHANGE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForReferenceType(TypeDescription referenceType) Creates a new array creator for a reference type. -
Method Summary
Modifier and TypeMethodDescriptionapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.intThe opcode instruction for storing a value of the component type inside an array.Methods inherited from class StackManipulation.AbstractBase
isValidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface StackManipulation
isValid
-
Field Details
-
internalTypeName
The internal name of this array's non-primitive component type.
-
-
Constructor Details
-
ForReferenceType
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:
applyin interfaceStackManipulation- 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:
getStorageOpcodein interfaceArrayFactory.ArrayCreator- Returns:
- The correct storage opcode for the represented type.
-