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 java.lang.Object implements StackManipulation, MethodConstant.CanCache
Performs a privileged lookup of a method constant by using anAccessController.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
-
-
Field Summary
Fields Modifier and Type Field Description private static MethodDescription.InDefinedShapeDO_PRIVILEGEDTheAccessController.doPrivileged(PrivilegedExceptionAction)method.private MethodDescription.InDefinedShapemethodDescriptionThe method constant to load.private StackManipulationmethodNameThe stack manipulation for locating the method name.
-
Constructor Summary
Constructors Modifier Constructor Description protectedPrivilegedLookup(MethodDescription.InDefinedShape methodDescription, StackManipulation methodName)Creates a new privileged lookup.
-
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.StackManipulationcached()Returns this method constant as a cached version.booleanequals(java.lang.Object other)inthashCode()booleanisValid()Determines if this stack manipulation is valid.
-
-
-
Field Detail
-
DO_PRIVILEGED
private static final MethodDescription.InDefinedShape DO_PRIVILEGED
TheAccessController.doPrivileged(PrivilegedExceptionAction)method.
-
methodDescription
private final MethodDescription.InDefinedShape methodDescription
The method constant to load.
-
methodName
private final StackManipulation methodName
The stack manipulation for locating the method name.
-
-
Constructor Detail
-
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 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.
-
cached
public StackManipulation 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()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
-