public final class jdk.dynalink.DynamicLinkerFactory
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.dynalink.DynamicLinkerFactory
super_class: java.lang.Object
{
private static final java.security.AccessControlContext GET_CLASS_LOADER_CONTEXT;
descriptor: Ljava/security/AccessControlContext;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_UNSTABLE_RELINK_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private boolean classLoaderExplicitlySet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.ClassLoader classLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
private java.util.List<? extends jdk.dynalink.linker.GuardingDynamicLinker> prioritizedLinkers;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
private java.util.List<? extends jdk.dynalink.linker.GuardingDynamicLinker> fallbackLinkers;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
private boolean syncOnRelink;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int unstableRelinkThreshold;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private jdk.dynalink.linker.GuardedInvocationTransformer prelinkTransformer;
descriptor: Ljdk/dynalink/linker/GuardedInvocationTransformer;
flags: (0x0002) ACC_PRIVATE
private jdk.dynalink.linker.MethodTypeConversionStrategy autoConversionStrategy;
descriptor: Ljdk/dynalink/linker/MethodTypeConversionStrategy;
flags: (0x0002) ACC_PRIVATE
private jdk.dynalink.linker.MethodHandleTransformer internalObjectsFilter;
descriptor: Ljdk/dynalink/linker/MethodHandleTransformer;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.util.ServiceConfigurationError> autoLoadingErrors;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/util/ServiceConfigurationError;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray java.lang.String
dup
iconst_0
1: ldc "getClassLoader"
aastore
invokestatic jdk.dynalink.internal.AccessControlContextFactory.createAccessControlContext:([Ljava/lang/String;)Ljava/security/AccessControlContext;
putstatic jdk.dynalink.DynamicLinkerFactory.GET_CLASS_LOADER_CONTEXT:Ljava/security/AccessControlContext;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.dynalink.DynamicLinkerFactory.classLoaderExplicitlySet:Z
2: aload 0
iconst_0
putfield jdk.dynalink.DynamicLinkerFactory.syncOnRelink:Z
3: aload 0
bipush 8
putfield jdk.dynalink.DynamicLinkerFactory.unstableRelinkThreshold:I
4: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.autoLoadingErrors:Ljava/util/List;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/dynalink/DynamicLinkerFactory;
public void setClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.dynalink.DynamicLinkerFactory.classLoader:Ljava/lang/ClassLoader;
1: aload 0
iconst_1
putfield jdk.dynalink.DynamicLinkerFactory.classLoaderExplicitlySet:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 3 1 classLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
classLoader final
public void setPrioritizedLinkers(java.util.List<? extends jdk.dynalink.linker.GuardingDynamicLinker>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.dynalink.DynamicLinkerFactory.copyListRequireNonNullElements:(Ljava/util/List;)Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 prioritizedLinkers Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
Signature: (Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;)V
MethodParameters:
Name Flags
prioritizedLinkers final
public void setPrioritizedLinkers(jdk.dynalink.linker.GuardingDynamicLinker[]);
descriptor: ([Ljdk/dynalink/linker/GuardingDynamicLinker;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack: jdk.dynalink.DynamicLinkerFactory
1: aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
StackMap locals: jdk.dynalink.DynamicLinkerFactory jdk.dynalink.linker.GuardingDynamicLinker[]
StackMap stack: jdk.dynalink.DynamicLinkerFactory java.util.List
2: invokevirtual jdk.dynalink.DynamicLinkerFactory.setPrioritizedLinkers:(Ljava/util/List;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 4 1 prioritizedLinkers [Ljdk/dynalink/linker/GuardingDynamicLinker;
MethodParameters:
Name Flags
prioritizedLinkers final
public void setPrioritizedLinker(jdk.dynalink.linker.GuardingDynamicLinker);
descriptor: (Ljdk/dynalink/linker/GuardingDynamicLinker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 prioritizedLinker Ljdk/dynalink/linker/GuardingDynamicLinker;
MethodParameters:
Name Flags
prioritizedLinker final
public void setFallbackLinkers(java.util.List<? extends jdk.dynalink.linker.GuardingDynamicLinker>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic jdk.dynalink.DynamicLinkerFactory.copyListRequireNonNullElements:(Ljava/util/List;)Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 fallbackLinkers Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
Signature: (Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;)V
MethodParameters:
Name Flags
fallbackLinkers final
public void setFallbackLinkers(jdk.dynalink.linker.GuardingDynamicLinker[]);
descriptor: ([Ljdk/dynalink/linker/GuardingDynamicLinker;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack: jdk.dynalink.DynamicLinkerFactory
1: aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
StackMap locals: jdk.dynalink.DynamicLinkerFactory jdk.dynalink.linker.GuardingDynamicLinker[]
StackMap stack: jdk.dynalink.DynamicLinkerFactory java.util.List
2: invokevirtual jdk.dynalink.DynamicLinkerFactory.setFallbackLinkers:(Ljava/util/List;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 4 1 fallbackLinkers [Ljdk/dynalink/linker/GuardingDynamicLinker;
MethodParameters:
Name Flags
fallbackLinkers final
public void setSyncOnRelink(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.dynalink.DynamicLinkerFactory.syncOnRelink:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 syncOnRelink Z
MethodParameters:
Name Flags
syncOnRelink final
public void setUnstableRelinkThreshold(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "unstableRelinkThreshold < 0"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield jdk.dynalink.DynamicLinkerFactory.unstableRelinkThreshold:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 4 1 unstableRelinkThreshold I
MethodParameters:
Name Flags
unstableRelinkThreshold final
public void setPrelinkTransformer(jdk.dynalink.linker.GuardedInvocationTransformer);
descriptor: (Ljdk/dynalink/linker/GuardedInvocationTransformer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.dynalink.DynamicLinkerFactory.prelinkTransformer:Ljdk/dynalink/linker/GuardedInvocationTransformer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 prelinkTransformer Ljdk/dynalink/linker/GuardedInvocationTransformer;
MethodParameters:
Name Flags
prelinkTransformer final
public void setAutoConversionStrategy(jdk.dynalink.linker.MethodTypeConversionStrategy);
descriptor: (Ljdk/dynalink/linker/MethodTypeConversionStrategy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.dynalink.DynamicLinkerFactory.autoConversionStrategy:Ljdk/dynalink/linker/MethodTypeConversionStrategy;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 autoConversionStrategy Ljdk/dynalink/linker/MethodTypeConversionStrategy;
MethodParameters:
Name Flags
autoConversionStrategy final
public void setInternalObjectsFilter(jdk.dynalink.linker.MethodHandleTransformer);
descriptor: (Ljdk/dynalink/linker/MethodHandleTransformer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.dynalink.DynamicLinkerFactory.internalObjectsFilter:Ljdk/dynalink/linker/MethodHandleTransformer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/dynalink/DynamicLinkerFactory;
0 2 1 internalObjectsFilter Ljdk/dynalink/linker/MethodHandleTransformer;
MethodParameters:
Name Flags
internalObjectsFilter final
public jdk.dynalink.DynamicLinker createLinker();
descriptor: ()Ljdk/dynalink/DynamicLinker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
ifnonnull 2
1: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
ifnonnull 4
3: aload 0
new jdk.dynalink.beans.BeansLinker
dup
invokespecial jdk.dynalink.beans.BeansLinker.<init>:()V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
putfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
4: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
5: astore 1
start local 1 6: aload 1
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
invokestatic jdk.dynalink.DynamicLinkerFactory.addClasses:(Ljava/util/Set;Ljava/util/List;)V
7: aload 1
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
invokestatic jdk.dynalink.DynamicLinkerFactory.addClasses:(Ljava/util/Set;Ljava/util/List;)V
8: aload 0
invokevirtual jdk.dynalink.DynamicLinkerFactory.discoverAutoLoadLinkers:()Ljava/util/List;
astore 2
start local 2 9: new java.util.ArrayList
dup
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 2
invokeinterface java.util.List.size:()I
iadd
10: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
invokeinterface java.util.List.size:()I
iadd
11: invokespecial java.util.ArrayList.<init>:(I)V
12: astore 3
start local 3 13: aload 3
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prioritizedLinkers:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
14: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: jdk.dynalink.DynamicLinkerFactory java.util.Set java.util.List java.util.List top java.util.Iterator
StackMap stack:
15: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
astore 4
start local 4 16: aload 1
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 18
17: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
19: aload 3
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.fallbackLinkers:Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
20: aload 3
invokestatic jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker.optimize:(Ljava/lang/Iterable;)Ljava/util/List;
astore 4
start local 4 21: aload 3
invokeinterface java.util.List.size:()I
tableswitch { // 0 - 1
0: 22
1: 24
default: 26
}
22: StackMap locals: jdk.dynalink.DynamicLinkerFactory java.util.Set java.util.List java.util.List java.util.List
StackMap stack:
invokedynamic getGuardedInvocation()Ljdk/dynalink/linker/GuardingDynamicLinker;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
jdk/dynalink/DynamicLinkerFactory.lambda$0(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation; (6)
(Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
astore 5
start local 5 23: goto 27
end local 5 24: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
astore 5
start local 5 25: goto 27
end local 5 26: StackMap locals:
StackMap stack:
new jdk.dynalink.linker.support.CompositeGuardingDynamicLinker
dup
aload 4
invokespecial jdk.dynalink.linker.support.CompositeGuardingDynamicLinker.<init>:(Ljava/lang/Iterable;)V
astore 5
start local 5 27: StackMap locals: jdk.dynalink.linker.GuardingDynamicLinker
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 6
start local 6 28: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 32
StackMap locals: jdk.dynalink.DynamicLinkerFactory java.util.Set java.util.List java.util.List java.util.List jdk.dynalink.linker.GuardingDynamicLinker java.util.List top java.util.Iterator
StackMap stack:
29: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
astore 7
start local 7 30: aload 7
instanceof jdk.dynalink.linker.GuardingTypeConverterFactory
ifeq 32
31: aload 6
aload 7
checkcast jdk.dynalink.linker.GuardingTypeConverterFactory
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 32: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
33: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prelinkTransformer:Ljdk/dynalink/linker/GuardedInvocationTransformer;
ifnonnull 35
34: aload 0
invokedynamic filter()Ljdk/dynalink/linker/GuardedInvocationTransformer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljdk/dynalink/linker/GuardedInvocation;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
jdk/dynalink/DynamicLinkerFactory.lambda$1(Ljdk/dynalink/linker/GuardedInvocation;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation; (6)
(Ljdk/dynalink/linker/GuardedInvocation;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
putfield jdk.dynalink.DynamicLinkerFactory.prelinkTransformer:Ljdk/dynalink/linker/GuardedInvocationTransformer;
35: StackMap locals: jdk.dynalink.DynamicLinkerFactory java.util.Set java.util.List java.util.List java.util.List jdk.dynalink.linker.GuardingDynamicLinker java.util.List
StackMap stack:
new jdk.dynalink.DynamicLinker
dup
new jdk.dynalink.LinkerServicesImpl
dup
new jdk.dynalink.TypeConverterFactory
dup
aload 6
36: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.autoConversionStrategy:Ljdk/dynalink/linker/MethodTypeConversionStrategy;
invokespecial jdk.dynalink.TypeConverterFactory.<init>:(Ljava/lang/Iterable;Ljdk/dynalink/linker/MethodTypeConversionStrategy;)V
aload 5
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.internalObjectsFilter:Ljdk/dynalink/linker/MethodHandleTransformer;
invokespecial jdk.dynalink.LinkerServicesImpl.<init>:(Ljdk/dynalink/TypeConverterFactory;Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/linker/MethodHandleTransformer;)V
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.prelinkTransformer:Ljdk/dynalink/linker/GuardedInvocationTransformer;
37: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.syncOnRelink:Z
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.unstableRelinkThreshold:I
38: invokespecial jdk.dynalink.DynamicLinker.<init>:(Ljdk/dynalink/linker/LinkerServices;Ljdk/dynalink/linker/GuardedInvocationTransformer;ZI)V
areturn
end local 6 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 39 0 this Ljdk/dynalink/DynamicLinkerFactory;
6 39 1 knownLinkerClasses Ljava/util/Set<Ljava/lang/Class<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;>;
9 39 2 discovered Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
13 39 3 linkers Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
16 18 4 linker Ljdk/dynalink/linker/GuardingDynamicLinker;
21 39 4 optimized Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
23 24 5 composite Ljdk/dynalink/linker/GuardingDynamicLinker;
25 26 5 composite Ljdk/dynalink/linker/GuardingDynamicLinker;
27 39 5 composite Ljdk/dynalink/linker/GuardingDynamicLinker;
28 39 6 typeConverters Ljava/util/List<Ljdk/dynalink/linker/GuardingTypeConverterFactory;>;
30 32 7 linker Ljdk/dynalink/linker/GuardingDynamicLinker;
public java.util.List<java.util.ServiceConfigurationError> getAutoLoadingErrors();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.autoLoadingErrors:Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/dynalink/DynamicLinkerFactory;
Signature: ()Ljava/util/List<Ljava/util/ServiceConfigurationError;>;
private java.util.List<jdk.dynalink.linker.GuardingDynamicLinker> discoverAutoLoadLinkers();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield jdk.dynalink.DynamicLinkerFactory.autoLoadingErrors:Ljava/util/List;
1: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.classLoaderExplicitlySet:Z
ifeq 2
aload 0
getfield jdk.dynalink.DynamicLinkerFactory.classLoader:Ljava/lang/ClassLoader;
goto 3
StackMap locals:
StackMap stack:
2: invokestatic jdk.dynalink.DynamicLinkerFactory.getThreadContextClassLoader:()Ljava/lang/ClassLoader;
StackMap locals:
StackMap stack: java.lang.ClassLoader
3: astore 1
start local 1 4: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 5: aload 1
invokedynamic run(Ljava/lang/ClassLoader;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/DynamicLinkerFactory.lambda$2(Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader; (6)
()Ljava/util/ServiceLoader;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.ServiceLoader
6: astore 3
start local 3 7: aload 3
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: goto 23
9: StackMap locals: jdk.dynalink.DynamicLinkerFactory java.lang.ClassLoader java.util.List java.util.ServiceLoader java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinkerExporter
astore 5
start local 5 10: aload 2
11: aload 5
invokevirtual jdk.dynalink.linker.GuardingDynamicLinkerExporter.get:()Ljava/lang/Object;
checkcast java.util.List
12: aload 5
invokedynamic get(Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/DynamicLinkerFactory.lambda$3(Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/lang/String; (6)
()Ljava/lang/String;
13: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast java.util.List
14: aload 5
invokedynamic get(Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/DynamicLinkerFactory.lambda$4(Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/lang/String; (6)
()Ljava/lang/String;
15: invokestatic jdk.dynalink.DynamicLinkerFactory.requireNonNullElements:(Ljava/util/List;Ljava/util/function/Supplier;)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
16: goto 23
StackMap locals: jdk.dynalink.DynamicLinkerFactory java.lang.ClassLoader java.util.List java.util.ServiceLoader java.util.Iterator jdk.dynalink.linker.GuardingDynamicLinkerExporter
StackMap stack: java.lang.Error
17: astore 6
start local 6 18: aload 6
athrow
end local 6 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 20: new java.util.ServiceConfigurationError
dup
aload 6
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aload 6
invokespecial java.util.ServiceConfigurationError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 21: StackMap locals: jdk.dynalink.DynamicLinkerFactory java.lang.ClassLoader java.util.List java.util.ServiceLoader java.util.Iterator
StackMap stack: java.util.ServiceConfigurationError
astore 5
start local 5 22: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.autoLoadingErrors:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 23: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 4 end local 3 24: goto 27
StackMap locals: jdk.dynalink.DynamicLinkerFactory java.lang.ClassLoader java.util.List
StackMap stack: java.util.ServiceConfigurationError
25: astore 3
start local 3 26: aload 0
getfield jdk.dynalink.DynamicLinkerFactory.autoLoadingErrors:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 27: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/dynalink/DynamicLinkerFactory;
4 28 1 effectiveClassLoader Ljava/lang/ClassLoader;
5 28 2 discovered Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
7 24 3 linkerLoader Ljava/util/ServiceLoader<Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;>;
8 24 4 it Ljava/util/Iterator<Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;>;
10 21 5 autoLoader Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;
18 19 6 e Ljava/lang/Error;
20 21 6 t Ljava/lang/Throwable;
22 23 5 e Ljava/util/ServiceConfigurationError;
26 27 3 e Ljava/util/ServiceConfigurationError;
Exception table:
from to target type
10 16 17 Class java.util.ServiceConfigurationError
10 16 17 Class java.lang.VirtualMachineError
10 16 19 Class java.lang.Throwable
9 21 21 Class java.util.ServiceConfigurationError
5 24 25 Class java.util.ServiceConfigurationError
Signature: ()Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;
private static java.lang.ClassLoader getThreadContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/DynamicLinkerFactory.lambda$5()Ljava/lang/ClassLoader; (6)
()Ljava/lang/ClassLoader;
1: getstatic jdk.dynalink.DynamicLinkerFactory.GET_CLASS_LOADER_CONTEXT:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void addClasses(java.util.Set<java.lang.Class<? extends jdk.dynalink.linker.GuardingDynamicLinker>>, java.util.List<? extends jdk.dynalink.linker.GuardingDynamicLinker>);
descriptor: (Ljava/util/Set;Ljava/util/List;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: java.util.Set java.util.List top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.dynalink.linker.GuardingDynamicLinker
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 knownLinkerClasses Ljava/util/Set<Ljava/lang/Class<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;>;
0 5 1 linkers Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;
2 3 2 linker Ljdk/dynalink/linker/GuardingDynamicLinker;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;>;Ljava/util/List<+Ljdk/dynalink/linker/GuardingDynamicLinker;>;)V
MethodParameters:
Name Flags
knownLinkerClasses final
linkers final
private static <T> java.util.List<T> copyListRequireNonNullElements(java.util.List<T>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/dynalink/DynamicLinkerFactory.lambda$6()Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic jdk.dynalink.DynamicLinkerFactory.requireNonNullElements:(Ljava/util/List;Ljava/util/function/Supplier;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 list Ljava/util/List<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
list final
private static <T> java.util.List<T> requireNonNullElements(java.util.List<T>, java.util.function.Supplier<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/function/Supplier;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: java.util.List java.util.function.Supplier top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 2
start local 2 2: aload 2
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
pop
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 list Ljava/util/List<TT;>;
0 5 1 msgSupplier Ljava/util/function/Supplier<Ljava/lang/String;>;
2 3 2 t TT;
Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/function/Supplier<Ljava/lang/String;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
list final
msgSupplier final
private static jdk.dynalink.linker.GuardedInvocation lambda$0(jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 r Ljdk/dynalink/linker/LinkRequest;
0 1 1 s Ljdk/dynalink/linker/LinkerServices;
Exceptions:
throws java.lang.Exception
private static jdk.dynalink.linker.GuardedInvocation lambda$1(jdk.dynalink.linker.GuardedInvocation, jdk.dynalink.linker.LinkRequest, jdk.dynalink.linker.LinkerServices);
descriptor: (Ljdk/dynalink/linker/GuardedInvocation;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokeinterface jdk.dynalink.linker.LinkRequest.getCallSiteDescriptor:()Ljdk/dynalink/CallSiteDescriptor;
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual jdk.dynalink.linker.GuardedInvocation.asType:(Ljdk/dynalink/linker/LinkerServices;Ljava/lang/invoke/MethodType;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 inv Ljdk/dynalink/linker/GuardedInvocation;
0 1 1 request Ljdk/dynalink/linker/LinkRequest;
0 1 2 linkerServices Ljdk/dynalink/linker/LinkerServices;
private static java.util.ServiceLoader lambda$2(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
ifnonnull 2
1: ldc Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;
invokestatic java.util.ServiceLoader.loadInstalled:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
areturn
2: StackMap locals:
StackMap stack:
ldc Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;
aload 0
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$3(jdk.dynalink.linker.GuardingDynamicLinkerExporter);
descriptor: (Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " returned null from get()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$4(jdk.dynalink.linker.GuardingDynamicLinkerExporter);
descriptor: (Ljdk/dynalink/linker/GuardingDynamicLinkerExporter;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " returned a list with at least one null element"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.ClassLoader lambda$5();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$6();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "List has at least one null element"
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DynamicLinkerFactory.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles