langtools/test/tools/sjavac/ApiExtraction.java
changeset 40308 274367a99f98
parent 36778 e04318f39f92
equal deleted inserted replaced
40306:1a0fcaf3f2ed 40308:274367a99f98
    27  * @summary Make sure extraction of non-private APIs work as expected.
    27  * @summary Make sure extraction of non-private APIs work as expected.
    28  * @library /tools/lib
    28  * @library /tools/lib
    29  * @modules jdk.compiler/com.sun.tools.javac.api
    29  * @modules jdk.compiler/com.sun.tools.javac.api
    30  *          jdk.compiler/com.sun.tools.javac.main
    30  *          jdk.compiler/com.sun.tools.javac.main
    31  *          jdk.compiler/com.sun.tools.sjavac
    31  *          jdk.compiler/com.sun.tools.sjavac
    32  *          jdk.jdeps/com.sun.tools.javap
    32  *          jdk.compiler/com.sun.tools.sjavac.options
    33  * @build Wrapper toolbox.ToolBox
    33  *          jdk.compiler/com.sun.tools.sjavac.pubapi
       
    34  * @build Wrapper toolbox.ToolBox toolbox.JavacTask
    34  * @run main Wrapper ApiExtraction
    35  * @run main Wrapper ApiExtraction
    35  */
    36  */
       
    37 
    36 import static java.util.Arrays.asList;
    38 import static java.util.Arrays.asList;
    37 import static java.util.Collections.emptyList;
    39 import static java.util.Collections.emptyList;
    38 import static javax.lang.model.element.Modifier.FINAL;
    40 import static javax.lang.model.element.Modifier.FINAL;
    39 import static javax.lang.model.element.Modifier.PROTECTED;
    41 import static javax.lang.model.element.Modifier.PROTECTED;
    40 import static javax.lang.model.element.Modifier.PUBLIC;
    42 import static javax.lang.model.element.Modifier.PUBLIC;
    54 import com.sun.tools.sjavac.pubapi.PubMethod;
    56 import com.sun.tools.sjavac.pubapi.PubMethod;
    55 import com.sun.tools.sjavac.pubapi.PubType;
    57 import com.sun.tools.sjavac.pubapi.PubType;
    56 import com.sun.tools.sjavac.pubapi.PubVar;
    58 import com.sun.tools.sjavac.pubapi.PubVar;
    57 import com.sun.tools.sjavac.pubapi.ReferenceTypeDesc;
    59 import com.sun.tools.sjavac.pubapi.ReferenceTypeDesc;
    58 
    60 
       
    61 import toolbox.JavacTask;
       
    62 import toolbox.ToolBox;
    59 
    63 
    60 public class ApiExtraction {
    64 public class ApiExtraction {
    61     public static void main(String[] args) throws IOException {
    65     public static void main(String[] args) throws IOException {
    62 
    66 
    63         String testSrc = String.join("\n",
    67         String testSrc = String.join("\n",
    84                 "    }",
    88                 "    }",
    85                 "    final class DummyInner2 { }",
    89                 "    final class DummyInner2 { }",
    86                 "}");
    90                 "}");
    87 
    91 
    88         // Create class file to extract API from
    92         // Create class file to extract API from
    89         new ToolBox().new JavacTask().sources(testSrc).run();
    93         new JavacTask(new ToolBox()).sources(testSrc).run();
    90 
    94 
    91         // Extract PubApi
    95         // Extract PubApi
    92         Options options = Options.parseArgs("-d", "bin", "--state-dir=bin", "-cp", ".");
    96         Options options = Options.parseArgs("-d", "bin", "--state-dir=bin", "-cp", ".");
    93         PubApiExtractor pubApiExtr = new PubApiExtractor(options);
    97         PubApiExtractor pubApiExtr = new PubApiExtractor(options);
    94         PubApi actualApi = pubApiExtr.getPubApi("TestClass");
    98         PubApi actualApi = pubApiExtr.getPubApi("TestClass");