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: .line 50
            invokestatic jdk.internal.loader.ClassLoaders.platformClassLoader:()Ljava/lang/ClassLoader;
         1: .line 49
            putstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_CLASSLOADER:Ljava/lang/ClassLoader;
         2: .line 52
            invokestatic jdk.internal.loader.ClassLoaders.appClassLoader:()Ljava/lang/ClassLoader;
         3: .line 51
            putstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_CLASSLOADER:Ljava/lang/ClassLoader;
         4: .line 54
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_LOADER_INDEX:Ljava/lang/Integer;
         5: .line 55
            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 // jdk.internal.module.ModuleLoaderMap$Mapper this
        start local 1 // java.lang.module.Configuration cf
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.HashMap map
         2: .line 73
            aload 1 /* cf */
            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 /* resolvedModule */
        start local 3 // java.lang.module.ResolvedModule resolvedModule
         4: .line 74
            aload 3 /* resolvedModule */
            invokevirtual java.lang.module.ResolvedModule.name:()Ljava/lang/String;
            astore 5 /* mn */
        start local 5 // java.lang.String mn
         5: .line 75
            getstatic jdk.internal.module.ModuleLoaderMap$Modules.bootModules:Ljava/util/Set;
            aload 5 /* mn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 10
         6: .line 76
            getstatic jdk.internal.module.ModuleLoaderMap$Modules.platformModules:Ljava/util/Set;
            aload 5 /* mn */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 77
            aload 2 /* map */
            aload 5 /* mn */
            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: .line 78
            goto 10
         9: .line 79
      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 /* map */
            aload 5 /* mn */
            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 // java.lang.String mn
        end local 3 // java.lang.module.ResolvedModule resolvedModule
        10: .line 73
      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: .line 83
            aload 0 /* this */
            aload 2 /* map */
            putfield jdk.internal.module.ModuleLoaderMap$Mapper.map:Ljava/util/Map;
        12: .line 84
            return
        end local 2 // java.util.HashMap map
        end local 1 // java.lang.module.Configuration cf
        end local 0 // jdk.internal.module.ModuleLoaderMap$Mapper this
      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 // jdk.internal.module.ModuleLoaderMap$Mapper this
        start local 1 // java.lang.String name
         0: .line 88
            aload 0 /* this */
            getfield jdk.internal.module.ModuleLoaderMap$Mapper.map:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* loader */
        start local 2 // java.lang.Integer loader
         1: .line 89
            aload 2 /* loader */
            getstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_LOADER_INDEX:Ljava/lang/Integer;
            if_acmpne 3
         2: .line 90
            getstatic jdk.internal.module.ModuleLoaderMap$Mapper.APP_CLASSLOADER:Ljava/lang/ClassLoader;
            areturn
         3: .line 91
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* loader */
            getstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_LOADER_INDEX:Ljava/lang/Integer;
            if_acmpne 5
         4: .line 92
            getstatic jdk.internal.module.ModuleLoaderMap$Mapper.PLATFORM_CLASSLOADER:Ljava/lang/ClassLoader;
            areturn
         5: .line 94
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Integer loader
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.module.ModuleLoaderMap$Mapper this
      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: .line 1
            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