public class jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker implements jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker
super_class: java.lang.Object
{
private final java.lang.ClassValue<java.util.List<jdk.dynalink.linker.TypeBasedGuardingDynamicLinker>> classToLinker;
descriptor: Ljava/lang/ClassValue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ClassValue<Ljava/util/List<Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;>;
public void <init>(java.lang.Iterable<? extends jdk.dynalink.linker.TypeBasedGuardingDynamicLinker>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 2: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker java.lang.Iterable java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
astore 3
start local 3 4: aload 2
aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
new jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker$ClassToLinker
dup
aload 2
iconst_0
anewarray jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast jdk.dynalink.linker.TypeBasedGuardingDynamicLinker[]
invokespecial jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker$ClassToLinker.<init>:([Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;)V
putfield jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.classToLinker:Ljava/lang/ClassValue;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker;
0 8 1 linkers Ljava/lang/Iterable<+Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;
2 8 2 l Ljava/util/List<Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;
4 5 3 linker Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;
Signature: (Ljava/lang/Iterable<+Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;)V
MethodParameters:
Name Flags
linkers final
public boolean canLinkType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.classToLinker:Ljava/lang/ClassValue;
aload 1
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker;
0 3 1 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
type final
public jdk.dynalink.linker.GuardedInvocation getGuardedInvocation(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface jdk.dynalink.linker.LinkRequest.getReceiver:()Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.classToLinker:Ljava/lang/ClassValue;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker jdk.dynalink.linker.LinkRequest jdk.dynalink.linker.LinkerServices java.lang.Object top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
astore 4
start local 4 5: aload 4
aload 1
aload 2
invokeinterface jdk.dynalink.linker.TypeBasedGuardingDynamicLinker.getGuardedInvocation:(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
astore 6
start local 6 6: aload 6
ifnull 8
7: aload 6
areturn
end local 6 end local 4 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker;
0 10 1 linkRequest Ljdk/dynalink/linker/LinkRequest;
0 10 2 linkerServices Ljdk/dynalink/linker/LinkerServices;
1 10 3 obj Ljava/lang/Object;
5 8 4 linker Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;
6 8 6 invocation Ljdk/dynalink/linker/GuardedInvocation;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
linkRequest final
linkerServices final
public static java.util.List<jdk.dynalink.linker.GuardingDynamicLinker> optimize(java.lang.Iterable<? extends jdk.dynalink.linker.GuardingDynamicLinker>);
descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
start local 1 1: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 2: aload 0
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: java.lang.Iterable java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
astore 3
start local 3 4: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 3
instanceof jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
ifeq 8
6: aload 2
aload 3
checkcast jdk.dynalink.linker.TypeBasedGuardingDynamicLinker
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 10
8: StackMap locals: java.lang.Iterable java.util.List java.util.List jdk.dynalink.linker.GuardingDynamicLinker java.util.Iterator
StackMap stack:
aload 1
aload 2
invokestatic jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.addTypeBased:(Ljava/util/List;Ljava/util/List;)V
9: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 10: StackMap locals: java.lang.Iterable java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 1
aload 2
invokestatic jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.addTypeBased:(Ljava/util/List;Ljava/util/List;)V
12: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 linkers Ljava/lang/Iterable<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
1 13 1 llinkers Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
2 13 2 tblinkers Ljava/util/List<Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;
4 10 3 linker Ljdk/dynalink/linker/GuardingDynamicLinker;
Signature: (Ljava/lang/Iterable<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;)Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
MethodParameters:
Name Flags
linkers final
private static void addTypeBased(java.util.List<jdk.dynalink.linker.GuardingDynamicLinker>, java.util.List<jdk.dynalink.linker.TypeBasedGuardingDynamicLinker>);
descriptor: (Ljava/util/List;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
tableswitch { // 0 - 1
0: 1
1: 2
default: 5
}
1: StackMap locals:
StackMap stack:
goto 7
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
3: aload 1
invokeinterface java.util.List.clear:()V
4: goto 7
5: StackMap locals:
StackMap stack:
aload 0
new jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker
dup
aload 1
invokespecial jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.<init>:(Ljava/lang/Iterable;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 1
invokeinterface java.util.List.clear:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 llinkers Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
0 8 1 tblinkers Ljava/util/List<Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;
Signature: (Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;Ljava/util/List<Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;>;)V
MethodParameters:
Name Flags
llinkers final
tblinkers final
}
SourceFile: "CompositeTypeBasedGuardingDynamicLinker.java"
NestMembers:
jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker$ClassToLinker
InnerClasses:
private ClassToLinker = jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker$ClassToLinker of jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker