578 "java.base" 579 ); 580 if (!Objects.equals(log, expected)) 581 throw new AssertionError("Unexpected output: " + log); 582 } 583 584 @SupportedAnnotationTypes("*") 585 @SupportedOptions("expectedEnclosedElements") 586 public static final class ListRequires extends AbstractProcessor { 587 588 private int round; 589 590 @Override 591 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { 592 if (round++ == 0) { 593 ModuleElement compileE = processingEnv.getElementUtils().getModuleElement("compile"); 594 ModuleElement testE = ElementFilter.exportsIn(compileE.getDirectives()).get(0).getTargetModules().get(0); 595 596 System.out.println("from directives:"); 597 for (RequiresDirective rd : ElementFilter.requiresIn(testE.getDirectives())) { 598 System.out.println(rd.getDependency().getSimpleName()); 599 } 600 601 System.out.println("from requires:"); 602 for (RequiresDirective rd : ((ModuleSymbol) testE).requires) { 603 System.out.println(rd.getDependency().getSimpleName()); 604 } 605 } 606 607 return false; 608 } 609 610 @Override 611 public SourceVersion getSupportedSourceVersion() { 612 return SourceVersion.latest(); 613 } 614 615 } 616 617 @Test 618 public void testOnDemandCompletionModuleInfoJava(Path base) throws Exception { 619 Path src = base.resolve("src"); 620 Path src_m1 = src.resolve("m1x"); 621 tb.writeJavaFiles(src_m1, 622 "@Deprecated module m1x { }"); 623 Path src_m2 = src.resolve("m2x"); | 578 "java.base" 579 ); 580 if (!Objects.equals(log, expected)) 581 throw new AssertionError("Unexpected output: " + log); 582 } 583 584 @SupportedAnnotationTypes("*") 585 @SupportedOptions("expectedEnclosedElements") 586 public static final class ListRequires extends AbstractProcessor { 587 588 private int round; 589 590 @Override 591 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { 592 if (round++ == 0) { 593 ModuleElement compileE = processingEnv.getElementUtils().getModuleElement("compile"); 594 ModuleElement testE = ElementFilter.exportsIn(compileE.getDirectives()).get(0).getTargetModules().get(0); 595 596 System.out.println("from directives:"); 597 for (RequiresDirective rd : ElementFilter.requiresIn(testE.getDirectives())) { 598 System.out.println(rd.getDependency().getQualifiedName()); 599 } 600 601 System.out.println("from requires:"); 602 for (RequiresDirective rd : ((ModuleSymbol) testE).requires) { 603 System.out.println(rd.getDependency().getQualifiedName()); 604 } 605 } 606 607 return false; 608 } 609 610 @Override 611 public SourceVersion getSupportedSourceVersion() { 612 return SourceVersion.latest(); 613 } 614 615 } 616 617 @Test 618 public void testOnDemandCompletionModuleInfoJava(Path base) throws Exception { 619 Path src = base.resolve("src"); 620 Path src_m1 = src.resolve("m1x"); 621 tb.writeJavaFiles(src_m1, 622 "@Deprecated module m1x { }"); 623 Path src_m2 = src.resolve("m2x"); |