< prev index next >

src/java.base/share/classes/java/lang/module/InstalledModuleFinder.java

Print this page




  93         }
  94 
  95         int n = moduleNames.length;
  96         moduleCount.add(n);
  97 
  98         Set<ModuleReference> mods = new HashSet<>(n);
  99         Map<String, ModuleReference> map = new HashMap<>(n);
 100 
 101         for (int i = 0; i < n; i++) {
 102             String mn = moduleNames[i];
 103             ModuleDescriptor md;
 104             if (fastLoad) {
 105                 md = descriptors[i];
 106             } else {
 107                 // fallback to read module-info.class
 108                 // if fast loading of ModuleDescriptors is disabled
 109                 ImageLocation location = imageReader.findLocation(mn, "module-info.class");
 110                 md = ModuleDescriptor.read(imageReader.getResourceBuffer(location));
 111             }
 112             if (!md.name().equals(mn))
 113                 throw new InternalError();
 114 
 115             // create the ModuleReference
 116 
 117             URI uri = URI.create("jrt:/" + mn);
 118 
 119             Supplier<ModuleReader> readerSupplier = new Supplier<>() {
 120                 @Override
 121                 public ModuleReader get() {
 122                     return new ImageModuleReader(mn, uri);
 123                 }
 124             };
 125 
 126             ModuleReference mref = new ModuleReference(md, uri, readerSupplier);
 127 
 128             // may need a reference to a patched module if -Xpatch specified
 129             mref = ModulePatcher.interposeIfNeeded(mref);
 130 
 131             mods.add(mref);
 132             map.put(mn, mref);
 133 




  93         }
  94 
  95         int n = moduleNames.length;
  96         moduleCount.add(n);
  97 
  98         Set<ModuleReference> mods = new HashSet<>(n);
  99         Map<String, ModuleReference> map = new HashMap<>(n);
 100 
 101         for (int i = 0; i < n; i++) {
 102             String mn = moduleNames[i];
 103             ModuleDescriptor md;
 104             if (fastLoad) {
 105                 md = descriptors[i];
 106             } else {
 107                 // fallback to read module-info.class
 108                 // if fast loading of ModuleDescriptors is disabled
 109                 ImageLocation location = imageReader.findLocation(mn, "module-info.class");
 110                 md = ModuleDescriptor.read(imageReader.getResourceBuffer(location));
 111             }
 112             if (!md.name().equals(mn))
 113                 throw new InternalError(md.name() + " is not equal to " + mn);
 114 
 115             // create the ModuleReference
 116 
 117             URI uri = URI.create("jrt:/" + mn);
 118 
 119             Supplier<ModuleReader> readerSupplier = new Supplier<>() {
 120                 @Override
 121                 public ModuleReader get() {
 122                     return new ImageModuleReader(mn, uri);
 123                 }
 124             };
 125 
 126             ModuleReference mref = new ModuleReference(md, uri, readerSupplier);
 127 
 128             // may need a reference to a patched module if -Xpatch specified
 129             mref = ModulePatcher.interposeIfNeeded(mref);
 130 
 131             mods.add(mref);
 132             map.put(mn, mref);
 133 


< prev index next >