public static enum AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup extends Enum<AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup> implements AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader
MethodHandleInfo info = caller.revealDirect(implementation); boolean classData = (Modifier.isProtected(info.getModifiers())&&
!VerifyAccess.isSamePackage(caller.lookupClass(), info.getDeclaringClass())) || info.getReferenceKind() == Opcodes.H_INVOKESPECIAL; MethodHandles.Lookup lookup; if (classData) { lookup = caller.defineHiddenClassWithClassData(binaryRepresentation, info, true, MethodHandles.Lookup.ClassOption.NESTMATE, MethodHandles.Lookup.ClassOption.STRONG); } else { lookup = caller.defineHiddenClass(binaryRepresentation, true, MethodHandles.Lookup.ClassOption.NESTMATE, MethodHandles.Lookup.ClassOption.STRONG); }Class<?>
lambdaClass = lookup.lookupClass();
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.Unavailable, AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup, AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingUnsafe
Enum Constant and Description |
---|
INSTANCE
The singleton instance.
|
Modifier and Type | Method and Description |
---|---|
void |
apply(MethodVisitor methodVisitor)
Applies this loader.
|
int |
getLocalVariableLength()
Returns the local variable length that is required to implement this loader.
|
int |
getStackSize()
Returns the stack size that is required to implement this loader.
|
static AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup INSTANCE
public static AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup[] values()
for (AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup c : AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup.values()) System.out.println(c);
public static AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic void apply(MethodVisitor methodVisitor)
apply
in interface AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader
methodVisitor
- The method visitor to use.public int getStackSize()
getStackSize
in interface AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader
public int getLocalVariableLength()
getLocalVariableLength
in interface AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader
Copyright © 2014–2024. All rights reserved.