< prev index next >

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

Print this page
rev 47483 : [mq]: XXXXXXX-double-trouble-2


 200                 if (!nameToReference.containsKey(dn)) {
 201                     addFoundModule(mref);
 202                     q.offer(mref.descriptor());
 203                 }
 204 
 205             }
 206 
 207             resolved.add(descriptor);
 208         }
 209 
 210         return resolved;
 211     }
 212 
 213     /**
 214      * Augments the set of resolved modules with modules induced by the
 215      * service-use relation.
 216      */
 217     Resolver bind() {
 218 
 219         // Scan the finders for all available service provider modules. As
 220         // java.base uses services then then module finders will be scanned
 221         // anyway.
 222         Map<String, Set<ModuleReference>> availableProviders = new HashMap<>();
 223         for (ModuleReference mref : findAll()) {
 224             ModuleDescriptor descriptor = mref.descriptor();
 225             if (!descriptor.provides().isEmpty()) {
 226 
 227                 for (Provides provides :  descriptor.provides()) {
 228                     String sn = provides.service();
 229 
 230                     // computeIfAbsent
 231                     Set<ModuleReference> providers = availableProviders.get(sn);
 232                     if (providers == null) {
 233                         providers = new HashSet<>();
 234                         availableProviders.put(sn, providers);
 235                     }
 236                     providers.add(mref);
 237                 }
 238 
 239             }
 240         }




 200                 if (!nameToReference.containsKey(dn)) {
 201                     addFoundModule(mref);
 202                     q.offer(mref.descriptor());
 203                 }
 204 
 205             }
 206 
 207             resolved.add(descriptor);
 208         }
 209 
 210         return resolved;
 211     }
 212 
 213     /**
 214      * Augments the set of resolved modules with modules induced by the
 215      * service-use relation.
 216      */
 217     Resolver bind() {
 218 
 219         // Scan the finders for all available service provider modules. As
 220         // java.base uses services then the module finders will be scanned
 221         // anyway.
 222         Map<String, Set<ModuleReference>> availableProviders = new HashMap<>();
 223         for (ModuleReference mref : findAll()) {
 224             ModuleDescriptor descriptor = mref.descriptor();
 225             if (!descriptor.provides().isEmpty()) {
 226 
 227                 for (Provides provides :  descriptor.provides()) {
 228                     String sn = provides.service();
 229 
 230                     // computeIfAbsent
 231                     Set<ModuleReference> providers = availableProviders.get(sn);
 232                     if (providers == null) {
 233                         providers = new HashSet<>();
 234                         availableProviders.put(sn, providers);
 235                     }
 236                     providers.add(mref);
 237                 }
 238 
 239             }
 240         }


< prev index next >