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 }
|