class jdk.internal.module.ArchivedModuleGraph
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.module.ArchivedModuleGraph
  super_class: java.lang.Object
{
  private static jdk.internal.module.ArchivedModuleGraph archivedModuleGraph;
    descriptor: Ljdk/internal/module/ArchivedModuleGraph;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final boolean hasSplitPackages;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasIncubatorModules;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.module.ModuleFinder finder;
    descriptor: Ljava/lang/module/ModuleFinder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.module.Configuration configuration;
    descriptor: Ljava/lang/module/Configuration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Function<java.lang.String, java.lang.ClassLoader> classLoaderFunction;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 106
            ldc Ljdk/internal/module/ArchivedModuleGraph;
            invokestatic jdk.internal.misc.CDS.initializeFromArchive:(Ljava/lang/Class;)V
         1: .line 107
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(boolean, boolean, java.lang.module.ModuleFinder, java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
    descriptor: (ZZLjava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
        start local 1 // boolean hasSplitPackages
        start local 2 // boolean hasIncubatorModules
        start local 3 // java.lang.module.ModuleFinder finder
        start local 4 // java.lang.module.Configuration configuration
        start local 5 // java.util.function.Function classLoaderFunction
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            iload 1 /* hasSplitPackages */
            putfield jdk.internal.module.ArchivedModuleGraph.hasSplitPackages:Z
         2: .line 51
            aload 0 /* this */
            iload 2 /* hasIncubatorModules */
            putfield jdk.internal.module.ArchivedModuleGraph.hasIncubatorModules:Z
         3: .line 52
            aload 0 /* this */
            aload 3 /* finder */
            putfield jdk.internal.module.ArchivedModuleGraph.finder:Ljava/lang/module/ModuleFinder;
         4: .line 53
            aload 0 /* this */
            aload 4 /* configuration */
            putfield jdk.internal.module.ArchivedModuleGraph.configuration:Ljava/lang/module/Configuration;
         5: .line 54
            aload 0 /* this */
            aload 5 /* classLoaderFunction */
            putfield jdk.internal.module.ArchivedModuleGraph.classLoaderFunction:Ljava/util/function/Function;
         6: .line 55
            return
        end local 5 // java.util.function.Function classLoaderFunction
        end local 4 // java.lang.module.Configuration configuration
        end local 3 // java.lang.module.ModuleFinder finder
        end local 2 // boolean hasIncubatorModules
        end local 1 // boolean hasSplitPackages
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Ljdk/internal/module/ArchivedModuleGraph;
            0    7     1     hasSplitPackages  Z
            0    7     2  hasIncubatorModules  Z
            0    7     3               finder  Ljava/lang/module/ModuleFinder;
            0    7     4        configuration  Ljava/lang/module/Configuration;
            0    7     5  classLoaderFunction  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
    Signature: (ZZLjava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
    MethodParameters:
                     Name  Flags
      hasSplitPackages     
      hasIncubatorModules  
      finder               
      configuration        
      classLoaderFunction  

  java.lang.module.ModuleFinder finder();
    descriptor: ()Ljava/lang/module/ModuleFinder;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
         0: .line 58
            aload 0 /* this */
            getfield jdk.internal.module.ArchivedModuleGraph.finder:Ljava/lang/module/ModuleFinder;
            areturn
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ArchivedModuleGraph;

  java.lang.module.Configuration configuration();
    descriptor: ()Ljava/lang/module/Configuration;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
         0: .line 62
            aload 0 /* this */
            getfield jdk.internal.module.ArchivedModuleGraph.configuration:Ljava/lang/module/Configuration;
            areturn
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ArchivedModuleGraph;

  java.util.function.Function<java.lang.String, java.lang.ClassLoader> classLoaderFunction();
    descriptor: ()Ljava/util/function/Function;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
         0: .line 66
            aload 0 /* this */
            getfield jdk.internal.module.ArchivedModuleGraph.classLoaderFunction:Ljava/util/function/Function;
            areturn
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ArchivedModuleGraph;
    Signature: ()Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;

  boolean hasSplitPackages();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
         0: .line 70
            aload 0 /* this */
            getfield jdk.internal.module.ArchivedModuleGraph.hasSplitPackages:Z
            ireturn
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ArchivedModuleGraph;

  boolean hasIncubatorModules();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.module.ArchivedModuleGraph this
         0: .line 74
            aload 0 /* this */
            getfield jdk.internal.module.ArchivedModuleGraph.hasIncubatorModules:Z
            ireturn
        end local 0 // jdk.internal.module.ArchivedModuleGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/module/ArchivedModuleGraph;

  static jdk.internal.module.ArchivedModuleGraph get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/module/ArchivedModuleGraph;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String mainModule
         0: .line 81
            getstatic jdk.internal.module.ArchivedModuleGraph.archivedModuleGraph:Ljdk/internal/module/ArchivedModuleGraph;
            astore 1 /* graph */
        start local 1 // jdk.internal.module.ArchivedModuleGraph graph
         1: .line 83
            aload 0 /* mainModule */
            ifnonnull 3
         2: .line 84
            aload 1 /* graph */
            areturn
         3: .line 86
      StackMap locals: jdk.internal.module.ArchivedModuleGraph
      StackMap stack:
            aconst_null
            areturn
        end local 1 // jdk.internal.module.ArchivedModuleGraph graph
        end local 0 // java.lang.String mainModule
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  mainModule  Ljava/lang/String;
            1    4     1       graph  Ljdk/internal/module/ArchivedModuleGraph;
    MethodParameters:
            Name  Flags
      mainModule  

  static void archive(boolean, boolean, java.lang.module.ModuleFinder, java.lang.module.Configuration, java.util.function.Function<java.lang.String, java.lang.ClassLoader>);
    descriptor: (ZZLjava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // boolean hasSplitPackages
        start local 1 // boolean hasIncubatorModules
        start local 2 // java.lang.module.ModuleFinder finder
        start local 3 // java.lang.module.Configuration configuration
        start local 4 // java.util.function.Function classLoaderFunction
         0: .line 98
            new jdk.internal.module.ArchivedModuleGraph
            dup
            iload 0 /* hasSplitPackages */
         1: .line 99
            iload 1 /* hasIncubatorModules */
         2: .line 100
            aload 2 /* finder */
         3: .line 101
            aload 3 /* configuration */
         4: .line 102
            aload 4 /* classLoaderFunction */
         5: .line 98
            invokespecial jdk.internal.module.ArchivedModuleGraph.<init>:(ZZLjava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;Ljava/util/function/Function;)V
            putstatic jdk.internal.module.ArchivedModuleGraph.archivedModuleGraph:Ljdk/internal/module/ArchivedModuleGraph;
         6: .line 103
            return
        end local 4 // java.util.function.Function classLoaderFunction
        end local 3 // java.lang.module.Configuration configuration
        end local 2 // java.lang.module.ModuleFinder finder
        end local 1 // boolean hasIncubatorModules
        end local 0 // boolean hasSplitPackages
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0     hasSplitPackages  Z
            0    7     1  hasIncubatorModules  Z
            0    7     2               finder  Ljava/lang/module/ModuleFinder;
            0    7     3        configuration  Ljava/lang/module/Configuration;
            0    7     4  classLoaderFunction  Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;
    Signature: (ZZLjava/lang/module/ModuleFinder;Ljava/lang/module/Configuration;Ljava/util/function/Function<Ljava/lang/String;Ljava/lang/ClassLoader;>;)V
    MethodParameters:
                     Name  Flags
      hasSplitPackages     
      hasIncubatorModules  
      finder               
      configuration        
      classLoaderFunction  
}
SourceFile: "ArchivedModuleGraph.java"