public class net.bytebuddy.implementation.DefaultMethodCall$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.DefaultMethodCall$Appender
super_class: java.lang.Object
{
private final net.bytebuddy.implementation.Implementation$Target implementationTarget;
descriptor: Lnet/bytebuddy/implementation/Implementation$Target;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<net.bytebuddy.description.type.TypeDescription> prioritizedInterfaces;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lnet/bytebuddy/description/type/TypeDescription;>;
private final java.util.Set<net.bytebuddy.description.type.TypeDescription> nonPrioritizedInterfaces;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lnet/bytebuddy/description/type/TypeDescription;>;
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling(value = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.IGNORE:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)
protected void <init>(net.bytebuddy.implementation.Implementation$Target, java.util.List<net.bytebuddy.description.type.TypeDescription>);
descriptor: (Lnet/bytebuddy/implementation/Implementation$Target;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield net.bytebuddy.implementation.DefaultMethodCall$Appender.implementationTarget:Lnet/bytebuddy/implementation/Implementation$Target;
2: aload 0
aload 2
putfield net.bytebuddy.implementation.DefaultMethodCall$Appender.prioritizedInterfaces:Ljava/util/List;
3: aload 0
new java.util.HashSet
dup
aload 1
invokeinterface net.bytebuddy.implementation.Implementation$Target.getInstrumentedType:()Lnet/bytebuddy/description/type/TypeDescription;
invokeinterface net.bytebuddy.description.type.TypeDescription.getInterfaces:()Lnet/bytebuddy/description/type/TypeList$Generic;
invokeinterface net.bytebuddy.description.type.TypeList$Generic.asErasures:()Lnet/bytebuddy/description/type/TypeList;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield net.bytebuddy.implementation.DefaultMethodCall$Appender.nonPrioritizedInterfaces:Ljava/util/Set;
4: aload 0
getfield net.bytebuddy.implementation.DefaultMethodCall$Appender.nonPrioritizedInterfaces:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lnet/bytebuddy/implementation/DefaultMethodCall$Appender;
0 6 1 implementationTarget Lnet/bytebuddy/implementation/Implementation$Target;
0 6 2 prioritizedInterfaces Ljava/util/List<Lnet/bytebuddy/description/type/TypeDescription;>;
Signature: (Lnet/bytebuddy/implementation/Implementation$Target;Ljava/util/List<Lnet/bytebuddy/description/type/TypeDescription;>;)V
MethodParameters:
Name Flags
implementationTarget
prioritizedInterfaces
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=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokevirtual net.bytebuddy.implementation.DefaultMethodCall$Appender.locateDefault:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
astore 4
start local 4 1: aload 4
invokeinterface net.bytebuddy.implementation.bytecode.StackManipulation.isValid:()Z
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot invoke default method on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: net.bytebuddy.implementation.bytecode.StackManipulation
StackMap stack:
new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
iconst_3
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
4: aload 3
invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.allArgumentsOf:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodVariableAccess$MethodLoading;
invokevirtual net.bytebuddy.implementation.bytecode.member.MethodVariableAccess$MethodLoading.prependThisReference:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_1
5: aload 4
aastore
dup
iconst_2
6: aload 3
invokeinterface net.bytebuddy.description.method.MethodDescription.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokestatic net.bytebuddy.implementation.bytecode.member.MethodReturn.of:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
7: aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
8: 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;
9: astore 5
start local 5 10: 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 11 0 this Lnet/bytebuddy/implementation/DefaultMethodCall$Appender;
0 11 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 11 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 11 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
1 11 4 defaultMethodInvocation Lnet/bytebuddy/implementation/bytecode/StackManipulation;
10 11 5 stackSize Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
private net.bytebuddy.implementation.bytecode.StackManipulation locateDefault(net.bytebuddy.description.method.MethodDescription);
descriptor: (Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface net.bytebuddy.description.method.MethodDescription.asSignatureToken:()Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;
astore 2
start local 2 1: getstatic net.bytebuddy.implementation.Implementation$SpecialMethodInvocation$Illegal.INSTANCE:Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation$Illegal;
astore 3
start local 3 2: aload 0
getfield net.bytebuddy.implementation.DefaultMethodCall$Appender.prioritizedInterfaces:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: net.bytebuddy.implementation.DefaultMethodCall$Appender net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
astore 4
start local 4 4: aload 0
getfield net.bytebuddy.implementation.DefaultMethodCall$Appender.implementationTarget:Lnet/bytebuddy/implementation/Implementation$Target;
aload 2
aload 4
invokeinterface net.bytebuddy.implementation.Implementation$Target.invokeDefault:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
astore 3
5: aload 3
invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
ifeq 7
6: aload 3
areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 0
getfield net.bytebuddy.implementation.DefaultMethodCall$Appender.nonPrioritizedInterfaces:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals:
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
astore 4
start local 4 10: aload 0
getfield net.bytebuddy.implementation.DefaultMethodCall$Appender.implementationTarget:Lnet/bytebuddy/implementation/Implementation$Target;
aload 2
aload 4
invokeinterface net.bytebuddy.implementation.Implementation$Target.invokeDefault:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
astore 6
start local 6 11: aload 3
invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
ifeq 15
aload 6
invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
ifeq 15
12: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has an ambiguous default method with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 6
invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.getMethodDescription:()Lnet/bytebuddy/description/method/MethodDescription;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.getMethodDescription:()Lnet/bytebuddy/description/method/MethodDescription;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: net.bytebuddy.implementation.DefaultMethodCall$Appender net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation net.bytebuddy.description.type.TypeDescription java.util.Iterator net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
StackMap stack:
aload 6
astore 3
end local 6 end local 4 16: StackMap locals: net.bytebuddy.implementation.DefaultMethodCall$Appender net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lnet/bytebuddy/implementation/DefaultMethodCall$Appender;
0 18 1 methodDescription Lnet/bytebuddy/description/method/MethodDescription;
1 18 2 methodToken Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;
2 18 3 specialMethodInvocation Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
4 7 4 typeDescription Lnet/bytebuddy/description/type/TypeDescription;
10 16 4 typeDescription Lnet/bytebuddy/description/type/TypeDescription;
11 16 6 other Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
MethodParameters:
Name Flags
methodDescription
}
SourceFile: "DefaultMethodCall.java"
NestHost: net.bytebuddy.implementation.DefaultMethodCall
InnerClasses:
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public abstract ValueHandling = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling of net.bytebuddy.build.HashCodeAndEqualsPlugin
public final Sort = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort of net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling
public SignatureToken = net.bytebuddy.description.method.MethodDescription$SignatureToken of net.bytebuddy.description.method.MethodDescription
public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
public abstract Generic = net.bytebuddy.description.type.TypeList$Generic of net.bytebuddy.description.type.TypeList
protected Appender = net.bytebuddy.implementation.DefaultMethodCall$Appender of net.bytebuddy.implementation.DefaultMethodCall
public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
public abstract SpecialMethodInvocation = net.bytebuddy.implementation.Implementation$SpecialMethodInvocation of net.bytebuddy.implementation.Implementation
public final Illegal = net.bytebuddy.implementation.Implementation$SpecialMethodInvocation$Illegal of net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
public abstract Target = net.bytebuddy.implementation.Implementation$Target of net.bytebuddy.implementation.Implementation
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 MethodLoading = net.bytebuddy.implementation.bytecode.member.MethodVariableAccess$MethodLoading of net.bytebuddy.implementation.bytecode.member.MethodVariableAccess
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()