57 58 import static javax.tools.StandardLocation.CLASS_PATH; 59 import static javax.tools.StandardLocation.SOURCE_PATH; 60 import static javax.tools.StandardLocation.CLASS_OUTPUT; 61 62 public class TestJavacTaskScanner extends ToolTester { 63 64 final JavacTaskImpl task; 65 final Elements elements; 66 final Types types; 67 68 int numTokens; 69 int numParseTypeElements; 70 int numAllMembers; 71 72 TestJavacTaskScanner(File file) { 73 final Iterable<? extends JavaFileObject> compilationUnits = 74 fm.getJavaFileObjects(new File[] {file}); 75 StandardJavaFileManager fm = getLocalFileManager(tool, null, null); 76 java.util.List<String> options = Arrays.asList( 77 "-XaddExports:jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", 78 "-XaddExports:jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", 79 "-XaddExports:jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", 80 "-XaddExports:jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"); 81 task = (JavacTaskImpl)tool.getTask(null, fm, null, options, null, compilationUnits); 82 task.getContext().put(ScannerFactory.scannerFactoryKey, 83 new MyScanner.Factory(task.getContext(), this)); 84 elements = task.getElements(); 85 types = task.getTypes(); 86 } 87 88 public void run() { 89 Iterable<? extends TypeElement> toplevels; 90 toplevels = ElementFilter.typesIn(task.enter(task.parse())); 91 for (TypeElement clazz : toplevels) { 92 System.out.format("Testing %s:%n%n", clazz.getSimpleName()); 93 testParseType(clazz); 94 testGetAllMembers(clazz); 95 System.out.println(); 96 System.out.println(); 97 System.out.println(); 98 } 99 100 System.out.println("#tokens: " + numTokens); | 57 58 import static javax.tools.StandardLocation.CLASS_PATH; 59 import static javax.tools.StandardLocation.SOURCE_PATH; 60 import static javax.tools.StandardLocation.CLASS_OUTPUT; 61 62 public class TestJavacTaskScanner extends ToolTester { 63 64 final JavacTaskImpl task; 65 final Elements elements; 66 final Types types; 67 68 int numTokens; 69 int numParseTypeElements; 70 int numAllMembers; 71 72 TestJavacTaskScanner(File file) { 73 final Iterable<? extends JavaFileObject> compilationUnits = 74 fm.getJavaFileObjects(new File[] {file}); 75 StandardJavaFileManager fm = getLocalFileManager(tool, null, null); 76 java.util.List<String> options = Arrays.asList( 77 "--add-exports", "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", 78 "--add-exports", "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", 79 "--add-exports", "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", 80 "--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"); 81 task = (JavacTaskImpl)tool.getTask(null, fm, null, options, null, compilationUnits); 82 task.getContext().put(ScannerFactory.scannerFactoryKey, 83 new MyScanner.Factory(task.getContext(), this)); 84 elements = task.getElements(); 85 types = task.getTypes(); 86 } 87 88 public void run() { 89 Iterable<? extends TypeElement> toplevels; 90 toplevels = ElementFilter.typesIn(task.enter(task.parse())); 91 for (TypeElement clazz : toplevels) { 92 System.out.format("Testing %s:%n%n", clazz.getSimpleName()); 93 testParseType(clazz); 94 testGetAllMembers(clazz); 95 System.out.println(); 96 System.out.println(); 97 System.out.println(); 98 } 99 100 System.out.println("#tokens: " + numTokens); |