Enum ArrayFactory.ArrayCreator.ForPrimitiveType
- java.lang.Object
-
- java.lang.Enum<ArrayFactory.ArrayCreator.ForPrimitiveType>
-
- net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForPrimitiveType
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<ArrayFactory.ArrayCreator.ForPrimitiveType>
,ArrayFactory.ArrayCreator
,StackManipulation
- Enclosing interface:
- ArrayFactory.ArrayCreator
public static enum ArrayFactory.ArrayCreator.ForPrimitiveType extends java.lang.Enum<ArrayFactory.ArrayCreator.ForPrimitiveType> implements ArrayFactory.ArrayCreator
An array creator implementation for primitive types.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator
ArrayFactory.ArrayCreator.ForPrimitiveType, ArrayFactory.ArrayCreator.ForReferenceType
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
-
-
Enum Constant Summary
Enum Constants Enum Constant Description BOOLEAN
An array creator for creatingboolean[]
arrays.BYTE
An array creator for creatingbyte[]
arrays.CHARACTER
An array creator for creatingchar[]
arrays.DOUBLE
An array creator for creatingdouble[]
arrays.FLOAT
An array creator for creatingfloat[]
arrays.INTEGER
An array creator for creatingint[]
arrays.LONG
An array creator for creatinglong[]
arrays.SHORT
An array creator for creatingshort[]
arrays.
-
Field Summary
Fields Modifier and Type Field Description private int
creationOpcode
The opcode for creating an array of this type.private int
storageOpcode
The opcode for storing a value in an array of this type.-
Fields inherited from interface net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator
ARRAY_CREATION_SIZE_CHANGE
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ForPrimitiveType(int creationOpcode, int storageOpcode)
Creates a new primitive array creator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Size
apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.int
getStorageOpcode()
The opcode instruction for storing a value of the component type inside an array.boolean
isValid()
Determines if this stack manipulation is valid.static ArrayFactory.ArrayCreator.ForPrimitiveType
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static ArrayFactory.ArrayCreator.ForPrimitiveType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
BOOLEAN
public static final ArrayFactory.ArrayCreator.ForPrimitiveType BOOLEAN
An array creator for creatingboolean[]
arrays.
-
BYTE
public static final ArrayFactory.ArrayCreator.ForPrimitiveType BYTE
An array creator for creatingbyte[]
arrays.
-
SHORT
public static final ArrayFactory.ArrayCreator.ForPrimitiveType SHORT
An array creator for creatingshort[]
arrays.
-
CHARACTER
public static final ArrayFactory.ArrayCreator.ForPrimitiveType CHARACTER
An array creator for creatingchar[]
arrays.
-
INTEGER
public static final ArrayFactory.ArrayCreator.ForPrimitiveType INTEGER
An array creator for creatingint[]
arrays.
-
LONG
public static final ArrayFactory.ArrayCreator.ForPrimitiveType LONG
An array creator for creatinglong[]
arrays.
-
FLOAT
public static final ArrayFactory.ArrayCreator.ForPrimitiveType FLOAT
An array creator for creatingfloat[]
arrays.
-
DOUBLE
public static final ArrayFactory.ArrayCreator.ForPrimitiveType DOUBLE
An array creator for creatingdouble[]
arrays.
-
-
Method Detail
-
values
public static ArrayFactory.ArrayCreator.ForPrimitiveType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (ArrayFactory.ArrayCreator.ForPrimitiveType c : ArrayFactory.ArrayCreator.ForPrimitiveType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static ArrayFactory.ArrayCreator.ForPrimitiveType valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
isValid
public boolean isValid()
Determines if this stack manipulation is valid.- Specified by:
isValid
in interfaceStackManipulation
- 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 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:
getStorageOpcode
in interfaceArrayFactory.ArrayCreator
- Returns:
- The correct storage opcode for the represented type.
-
-