public class net.bytebuddy.implementation.InvokeDynamic$Appender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.implementation.InvokeDynamic$Appender
super_class: java.lang.Object
{
private final net.bytebuddy.description.type.TypeDescription instrumentedType;
descriptor: Lnet/bytebuddy/description/type/TypeDescription;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final net.bytebuddy.implementation.InvokeDynamic this$0;
descriptor: Lnet/bytebuddy/implementation/InvokeDynamic;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(net.bytebuddy.implementation.InvokeDynamic, net.bytebuddy.description.type.TypeDescription);
descriptor: (Lnet/bytebuddy/implementation/InvokeDynamic;Lnet/bytebuddy/description/type/TypeDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield net.bytebuddy.implementation.InvokeDynamic$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/implementation/InvokeDynamic$Appender;
0 3 2 instrumentedType Lnet/bytebuddy/description/type/TypeDescription;
MethodParameters:
Name Flags
this$0 final
instrumentedType
public net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.description.method.MethodDescription);
descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.invocationProvider:Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider;
aload 3
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider.make:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target;
aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.assigner:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.typing:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target.resolve:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target$Resolved;
astore 4
start local 4 1: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
iconst_3
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
2: aload 4
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getStackManipulation:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_1
3: aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.bootstrapMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
aload 4
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getInternalName:()Ljava/lang/String;
4: aload 4
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
5: aload 4
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getParameterTypes:()Ljava/util/List;
6: aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.handleArguments:Ljava/util/List;
7: invokeinterface net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType.dynamic:(Ljava/lang/String;Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;Ljava/util/List;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_2
8: aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.terminationHandler:Lnet/bytebuddy/implementation/InvokeDynamic$TerminationHandler;
aload 3
aload 4
invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.assigner:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
aload 0
getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
getfield net.bytebuddy.implementation.InvokeDynamic.typing:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
invokevirtual net.bytebuddy.implementation.InvokeDynamic$TerminationHandler.resolve:(Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
9: aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
10: aload 1
aload 2
invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Compound.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
11: astore 5
start local 5 12: new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
dup
aload 5
invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.getMaximalSize:()I
aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getStackSize:()I
invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lnet/bytebuddy/implementation/InvokeDynamic$Appender;
0 13 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 13 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 13 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
1 13 4 target Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target$Resolved;
12 13 5 size Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "InvokeDynamic.java"
NestHost: net.bytebuddy.implementation.InvokeDynamic
InnerClasses:
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
protected Appender = net.bytebuddy.implementation.InvokeDynamic$Appender of net.bytebuddy.implementation.InvokeDynamic
protected abstract InvocationProvider = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider of net.bytebuddy.implementation.InvokeDynamic
public abstract Target = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider
public abstract Resolved = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target
protected abstract TerminationHandler = net.bytebuddy.implementation.InvokeDynamic$TerminationHandler of net.bytebuddy.implementation.InvokeDynamic
public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
public final Typing = net.bytebuddy.implementation.bytecode.assign.Assigner$Typing of net.bytebuddy.implementation.bytecode.assign.Assigner
public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance(includeSyntheticFields = true)