public enum Addition extends java.lang.Enum<Addition> implements StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
Enum Constant and Description |
---|
DOUBLE
Adds two doubles.
|
FLOAT
Adds two floats.
|
INTEGER
Adds two integers or integer-compatible values.
|
LONG
Adds two longs.
|
Modifier and Type | Field and Description |
---|---|
private int |
opcode
The opcode to apply.
|
private StackSize |
stackSize
The stack size of the added primitive.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
static Addition |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static Addition[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final Addition INTEGER
public static final Addition LONG
public static final Addition FLOAT
public static final Addition DOUBLE
private final int opcode
private final StackSize stackSize
public static Addition[] values()
for (Addition c : Addition.values()) System.out.println(c);
public static Addition valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic boolean isValid()
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.