< prev index next >

src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java

Print this page

@@ -20,36 +20,35 @@
  *
  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
-
 package jdk.internal.module;
 
-import java.lang.module.Configuration;
-import java.lang.module.ModuleFinder;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.Function;
-
+import java.lang.module.Configuration;
+import java.lang.module.ModuleFinder;
 import jdk.internal.misc.VM;
 
 /**
- * Used by ModuleBootstrap to obtain the archived system modules and finder.
+ * Used by ModuleBootstrap for archiving the configuration for the boot layer,
+ * the system module finder, and the maps used to create the IllegalAccessLogger.
  */
-final class ArchivedModuleGraph {
+class ArchivedModuleGraph {
     private static ArchivedModuleGraph archivedModuleGraph;
 
     private final boolean hasSplitPackages;
     private final boolean hasIncubatorModules;
     private final ModuleFinder finder;
     private final Configuration configuration;
     private final Function<String, ClassLoader> classLoaderFunction;
     private final Map<String, Set<String>> concealedPackagesToOpen;
     private final Map<String, Set<String>> exportedPackagesToOpen;
 
-    public ArchivedModuleGraph(boolean hasSplitPackages,
+    private ArchivedModuleGraph(boolean hasSplitPackages,
                                boolean hasIncubatorModules,
                                ModuleFinder finder,
                                Configuration configuration,
                                Function<String, ClassLoader> classLoaderFunction,
                                Map<String, Set<String>> concealedPackagesToOpen,

@@ -105,12 +104,24 @@
     }
 
     /**
      * Archive the module graph for the given initial module.
      */
-    static void archive(ArchivedModuleGraph graph) {
-        archivedModuleGraph = graph;
+    static void archive(boolean hasSplitPackages,
+                        boolean hasIncubatorModules,
+                        ModuleFinder finder,
+                        Configuration configuration,
+                        Function<String, ClassLoader> classLoaderFunction,
+                        Map<String, Set<String>> concealedPackagesToOpen,
+                        Map<String, Set<String>> exportedPackagesToOpen) {
+        archivedModuleGraph = new ArchivedModuleGraph(hasSplitPackages,
+                                                      hasIncubatorModules,
+                                                      finder,
+                                                      configuration,
+                                                      classLoaderFunction,
+                                                      concealedPackagesToOpen,
+                                                      exportedPackagesToOpen);
     }
 
     static {
         VM.initializeFromArchive(ArchivedModuleGraph.class);
     }
< prev index next >