Class StackManipulation.Compound
java.lang.Object
net.bytebuddy.implementation.bytecode.StackManipulation.Compound
- All Implemented Interfaces:
StackManipulation
- Enclosing interface:
StackManipulation
An immutable stack manipulation that aggregates a sequence of other stack manipulations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<StackManipulation> The stack manipulations this compound operation represents in their application order. -
Constructor Summary
ConstructorsConstructorDescriptionCompound
(List<? extends StackManipulation> stackManipulations) Creates a new compound stack manipulation.Compound
(StackManipulation... stackManipulation) Creates a new compound stack manipulation. -
Method Summary
Modifier and TypeMethodDescriptionapply
(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.
-
Field Details
-
stackManipulations
The stack manipulations this compound operation represents in their application order.
-
-
Constructor Details
-
Compound
Creates a new compound stack manipulation.- Parameters:
stackManipulation
- The stack manipulations to be composed in the order of their composition.
-
Compound
Creates a new compound stack manipulation.- Parameters:
stackManipulations
- The stack manipulations to be composed in the order of their composition.
-
-
Method Details
-
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.
-