protected static enum Duplication.WithFlip extends java.lang.Enum<Duplication.WithFlip> implements StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
Enum Constant and Description |
---|
DOUBLE_DOUBLE
A flip instruction that flips a double-sized element over another double-size element.
|
DOUBLE_SINGLE
A flip instruction that flips a single-sized element over a double-size element.
|
SINGLE_DOUBLE
A flip instruction that flips a double-sized element over a single-size element.
|
SINGLE_SINGLE
A flip instruction that flips a single-sized element over another single-size element.
|
Modifier and Type | Field and Description |
---|---|
private int |
opcode
The opcode to apply.
|
private StackSize |
stackSize
The size that is added to the operand stack.
|
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 Duplication.WithFlip |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static Duplication.WithFlip[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final Duplication.WithFlip SINGLE_SINGLE
public static final Duplication.WithFlip SINGLE_DOUBLE
public static final Duplication.WithFlip DOUBLE_SINGLE
public static final Duplication.WithFlip DOUBLE_DOUBLE
private final int opcode
private final StackSize stackSize
public static Duplication.WithFlip[] values()
for (Duplication.WithFlip c : Duplication.WithFlip.values()) System.out.println(c);
public static Duplication.WithFlip 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.