Class DefaultMethod.Binder.DelegationMethod
- java.lang.Object
-
- net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder.DelegationMethod
-
- All Implemented Interfaces:
StackManipulation
- Enclosing class:
- DefaultMethod.Binder
@Enhance protected static class DefaultMethod.Binder.DelegationMethod extends java.lang.Object implements StackManipulation
Loads the delegation method constant onto the stack.
-
-
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
Fields Modifier and Type Field Description private booleancachedtrueif the method constant should be cached.private booleanprivilegedtrueif the method should be looked up using anjava.security.AccessController.private Implementation.SpecialMethodInvocationspecialMethodInvocationThe special method invocation that represents the super method call.
-
Constructor Summary
Constructors Modifier Constructor Description protectedDelegationMethod(Implementation.SpecialMethodInvocation specialMethodInvocation, boolean cached, boolean privileged)Creates a new delegation method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Sizeapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)Applies the stack manipulation that is described by this instance.booleanisValid()Determines if this stack manipulation is valid.
-
-
-
Field Detail
-
specialMethodInvocation
private final Implementation.SpecialMethodInvocation specialMethodInvocation
The special method invocation that represents the super method call.
-
cached
private final boolean cached
trueif the method constant should be cached.
-
privileged
private final boolean privileged
trueif the method should be looked up using anjava.security.AccessController.
-
-
Constructor Detail
-
DelegationMethod
protected DelegationMethod(Implementation.SpecialMethodInvocation specialMethodInvocation, boolean cached, boolean privileged)
Creates a new delegation method.- Parameters:
specialMethodInvocation- The special method invocation that represents the super method call.cached-trueif the method constant should be cached.privileged-trueif the method should be looked up using anjava.security.AccessController.
-
-
Method Detail
-
isValid
public boolean isValid()
Determines if this stack manipulation is valid.- Specified by:
isValidin 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:
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.
-
-