langtools/test/tools/javac/api/TestJavacTaskScanner.java
changeset 36526 3b41f1c69604
parent 30730 d3ce7619db2c
child 37848 3c8ff4204d2d
equal deleted inserted replaced
36525:4caf88912b7f 36526:3b41f1c69604
    37 
    37 
    38 import com.sun.tools.javac.api.JavacTaskImpl;
    38 import com.sun.tools.javac.api.JavacTaskImpl;
    39 import com.sun.tools.javac.parser.*;
    39 import com.sun.tools.javac.parser.*;
    40 import com.sun.tools.javac.parser.Tokens.Token;
    40 import com.sun.tools.javac.parser.Tokens.Token;
    41 import com.sun.tools.javac.util.*;
    41 import com.sun.tools.javac.util.*;
       
    42 
    42 import java.io.*;
    43 import java.io.*;
    43 import java.net.*;
    44 import java.net.*;
    44 import java.nio.*;
    45 import java.nio.*;
    45 import java.nio.charset.Charset;
    46 import java.nio.charset.Charset;
    46 import java.util.Arrays;
    47 import java.util.Arrays;
       
    48 
    47 import javax.lang.model.element.Element;
    49 import javax.lang.model.element.Element;
    48 import javax.lang.model.element.TypeElement;
    50 import javax.lang.model.element.TypeElement;
    49 import javax.lang.model.type.DeclaredType;
    51 import javax.lang.model.type.DeclaredType;
    50 import javax.lang.model.type.TypeMirror;
    52 import javax.lang.model.type.TypeMirror;
       
    53 import javax.lang.model.util.ElementFilter;
    51 import javax.lang.model.util.Elements;
    54 import javax.lang.model.util.Elements;
    52 import javax.lang.model.util.Types;
    55 import javax.lang.model.util.Types;
    53 import javax.tools.*;
    56 import javax.tools.*;
    54 
    57 
    55 import static javax.tools.StandardLocation.CLASS_PATH;
    58 import static javax.tools.StandardLocation.CLASS_PATH;
    68 
    71 
    69     TestJavacTaskScanner(File file) {
    72     TestJavacTaskScanner(File file) {
    70         final Iterable<? extends JavaFileObject> compilationUnits =
    73         final Iterable<? extends JavaFileObject> compilationUnits =
    71             fm.getJavaFileObjects(new File[] {file});
    74             fm.getJavaFileObjects(new File[] {file});
    72         StandardJavaFileManager fm = getLocalFileManager(tool, null, null);
    75         StandardJavaFileManager fm = getLocalFileManager(tool, null, null);
    73         task = (JavacTaskImpl)tool.getTask(null, fm, null, null, null, compilationUnits);
    76         java.util.List<String> options = Arrays.asList("-XaddExports:"
       
    77                 + "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED,"
       
    78                 + "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED,"
       
    79                 + "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED,"
       
    80                 + "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED");
       
    81         task = (JavacTaskImpl)tool.getTask(null, fm, null, options, null, compilationUnits);
    74         task.getContext().put(ScannerFactory.scannerFactoryKey,
    82         task.getContext().put(ScannerFactory.scannerFactoryKey,
    75                 new MyScanner.Factory(task.getContext(), this));
    83                 new MyScanner.Factory(task.getContext(), this));
    76         elements = task.getElements();
    84         elements = task.getElements();
    77         types = task.getTypes();
    85         types = task.getTypes();
    78     }
    86     }
    79 
    87 
    80     public void run() {
    88     public void run() {
    81         Iterable<? extends TypeElement> toplevels;
    89         Iterable<? extends TypeElement> toplevels;
    82         toplevels = task.enter(task.parse());
    90         toplevels = ElementFilter.typesIn(task.enter(task.parse()));
    83         for (TypeElement clazz : toplevels) {
    91         for (TypeElement clazz : toplevels) {
    84             System.out.format("Testing %s:%n%n", clazz.getSimpleName());
    92             System.out.format("Testing %s:%n%n", clazz.getSimpleName());
    85             testParseType(clazz);
    93             testParseType(clazz);
    86             testGetAllMembers(clazz);
    94             testGetAllMembers(clazz);
    87             System.out.println();
    95             System.out.println();