Class MethodConstant.PrivilegedLookup
java.lang.Object
net.bytebuddy.implementation.bytecode.constant.MethodConstant.PrivilegedLookup
- All Implemented Interfaces:
MethodConstant.CanCache,StackManipulation
- Enclosing class:
MethodConstant
protected static class MethodConstant.PrivilegedLookup
extends Object
implements StackManipulation, MethodConstant.CanCache
Performs a privileged lookup of a method constant by using an
java.security.AccessController.-
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 MethodDescription.InDefinedShapeThe method constant to load.private final StackManipulationThe stack manipulation for locating the method name. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPrivilegedLookup(MethodDescription.InDefinedShape methodDescription, StackManipulation methodName) Creates a new privileged lookup. -
Method Summary
Modifier and TypeMethodDescriptionapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.cached()Returns this method constant as a cached version.booleaninthashCode()booleanisValid()Determines if this stack manipulation is valid.
-
Field Details
-
methodDescription
The method constant to load. -
methodName
The stack manipulation for locating the method name.
-
-
Constructor Details
-
PrivilegedLookup
protected PrivilegedLookup(MethodDescription.InDefinedShape methodDescription, StackManipulation methodName) Creates a new privileged lookup.- Parameters:
methodDescription- The method constant to load.methodName- The stack manipulation for locating the method name.
-
-
Method Details
-
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.
-
cached
Returns this method constant as a cached version.- Specified by:
cachedin interfaceMethodConstant.CanCache- Returns:
- A cached version of the method constant that is represented by this instance.
-
hashCode
public int hashCode() -
equals
-