langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JDK9Wrappers.java
equal
deleted
inserted
replaced
270 private Configuration(Object configuration) { |
270 private Configuration(Object configuration) { |
271 this.theRealConfiguration = configuration; |
271 this.theRealConfiguration = configuration; |
272 init(); |
272 init(); |
273 } |
273 } |
274 |
274 |
275 public Configuration resolveRequiresAndUses( |
275 public Configuration resolveAndBind( |
276 ModuleFinder beforeFinder, |
276 ModuleFinder beforeFinder, |
277 ModuleFinder afterFinder, |
277 ModuleFinder afterFinder, |
278 Collection<String> roots) { |
278 Collection<String> roots) { |
279 try { |
279 try { |
280 Object result = resolveRequiresAndUsesMethod.invoke(theRealConfiguration, |
280 Object result = resolveAndBindMethod.invoke(theRealConfiguration, |
281 beforeFinder.theRealModuleFinder, |
281 beforeFinder.theRealModuleFinder, |
282 afterFinder.theRealModuleFinder, |
282 afterFinder.theRealModuleFinder, |
283 roots |
283 roots |
284 ); |
284 ); |
285 Configuration configuration = new Configuration(result); |
285 Configuration configuration = new Configuration(result); |
291 } |
291 } |
292 |
292 |
293 // ----------------------------------------------------------------------------------------- |
293 // ----------------------------------------------------------------------------------------- |
294 |
294 |
295 private static Class<?> configurationClass = null; |
295 private static Class<?> configurationClass = null; |
296 private static Method resolveRequiresAndUsesMethod; |
296 private static Method resolveAndBindMethod; |
297 |
297 |
298 static final Class<?> getConfigurationClass() { |
298 static final Class<?> getConfigurationClass() { |
299 init(); |
299 init(); |
300 return configurationClass; |
300 return configurationClass; |
301 } |
301 } |
303 private static void init() { |
303 private static void init() { |
304 if (configurationClass == null) { |
304 if (configurationClass == null) { |
305 try { |
305 try { |
306 configurationClass = Class.forName("java.lang.module.Configuration", false, null); |
306 configurationClass = Class.forName("java.lang.module.Configuration", false, null); |
307 Class<?> moduleFinderInterface = ModuleFinder.getModuleFinderClass(); |
307 Class<?> moduleFinderInterface = ModuleFinder.getModuleFinderClass(); |
308 resolveRequiresAndUsesMethod = configurationClass.getDeclaredMethod("resolveRequiresAndUses", |
308 resolveAndBindMethod = configurationClass.getDeclaredMethod("resolveAndBind", |
309 moduleFinderInterface, |
309 moduleFinderInterface, |
310 moduleFinderInterface, |
310 moduleFinderInterface, |
311 Collection.class |
311 Collection.class |
312 ); |
312 ); |
313 } catch (ClassNotFoundException | NoSuchMethodException | SecurityException ex) { |
313 } catch (ClassNotFoundException | NoSuchMethodException | SecurityException ex) { |