final class jdk.internal.module.ModuleLoaderMap$Mapper implements java.util.function.Function<java.lang.String, java.lang.ClassLoader>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.internal.module.ModuleLoaderMap$Mapper
super_class: java.lang.Object
{
private static final java.lang.ClassLoader PLATFORM_CLASSLOADER;
descriptor: Ljava/lang/ClassLoader;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ClassLoader APP_CLASSLOADER;
descriptor: Ljava/lang/ClassLoader;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer PLATFORM_LOADER_INDEX;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer APP_LOADER_INDEX;
descriptor: Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.Integer> map;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.loader.ClassLoaders.platformClassLoader:()Ljava/lang/ClassLoader;
1: putstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_CLASSLOADER:Ljava/lang/ClassLoader;
2: invokestatic jdk.internal.loader.ClassLoaders.appClassLoader:()Ljava/lang/ClassLoader;
3: putstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_CLASSLOADER:Ljava/lang/ClassLoader;
4: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_LOADER_INDEX:Ljava/lang/Integer;
5: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_LOADER_INDEX:Ljava/lang/Integer;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.module.Configuration);
descriptor: (Ljava/lang/module/Configuration;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 2: aload 1
invokevirtual java.lang.module.Configuration.modules:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: jdk.internal.module.ModuleLoaderMap$Mapper java.lang.module.Configuration java.util.HashMap top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.module.ResolvedModule
astore 3
start local 3 4: aload 3
invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
astore 5
start local 5 5: getstatic jdk.internal.module.ModuleLoaderMap$Modules.bootModules:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 10
6: getstatic jdk.internal.module.ModuleLoaderMap$Modules.platformModules:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 9
7: aload 2
aload 5
getstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_LOADER_INDEX:Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 10
9: StackMap locals: jdk.internal.module.ModuleLoaderMap$Mapper java.lang.module.Configuration java.util.HashMap java.lang.module.ResolvedModule java.util.Iterator java.lang.String
StackMap stack:
aload 2
aload 5
getstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_LOADER_INDEX:Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 3 10: StackMap locals: jdk.internal.module.ModuleLoaderMap$Mapper java.lang.module.Configuration java.util.HashMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 0
aload 2
putfield jdk.internal.module.ModuleLoaderMap$Mapper.map:Ljava/util/Map;
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/internal/module/ModuleLoaderMap$Mapper;
0 13 1 cf Ljava/lang/module/Configuration;
2 13 2 map Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
4 10 3 resolvedModule Ljava/lang/module/ResolvedModule;
5 10 5 mn Ljava/lang/String;
MethodParameters:
Name Flags
cf
public java.lang.ClassLoader apply(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.module.ModuleLoaderMap$Mapper.map:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2
start local 2 1: aload 2
getstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_LOADER_INDEX:Ljava/lang/Integer;
if_acmpne 3
2: getstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_CLASSLOADER:Ljava/lang/ClassLoader;
areturn
3: StackMap locals: java.lang.Integer
StackMap stack:
aload 2
getstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_LOADER_INDEX:Ljava/lang/Integer;
if_acmpne 5
4: getstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_CLASSLOADER:Ljava/lang/ClassLoader;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/module/ModuleLoaderMap$Mapper;
0 6 1 name Ljava/lang/String;
1 6 2 loader Ljava/lang/Integer;
MethodParameters:
Name Flags
name
public java.lang.Object apply(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.String
invokevirtual jdk.internal.module.ModuleLoaderMap$Mapper.apply:(Ljava/lang/String;)Ljava/lang/ClassLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
SourceFile: "ModuleLoaderMap.java"
NestHost: jdk.internal.module.ModuleLoaderMap
InnerClasses:
private final Mapper = jdk.internal.module.ModuleLoaderMap$Mapper of jdk.internal.module.ModuleLoaderMap
private Modules = jdk.internal.module.ModuleLoaderMap$Modules of jdk.internal.module.ModuleLoaderMap