39 * SPI.</p>
40 *
41 * <p> Instances of the tools can be obtained by calling
42 * {@link java.util.spi.ToolProvider#findFirst ToolProvider.findFirst}
43 * or the {@linkplain java.util.ServiceLoader service loader} with the name
44 * {@code "javac"}.
45 *
46 * <p>
47 * In addition, instances of {@link javax.tools.JavaCompiler.CompilationTask}
48 * obtained from {@linkplain javax.tools.JavaCompiler JavaCompiler} can be
49 * downcast to {@link com.sun.source.util.JavacTask JavacTask} for access to
50 * lower level aspects of <em>javac</em>, such as the
51 * {@link com.sun.source.tree Abstract Syntax Tree} (AST).</p>
52 *
53 * <p>This module uses the {@link java.nio.file.spi.FileSystemProvider
54 * FileSystemProvider} API to locate file system providers. In particular,
55 * this means that a jar file system provider, such as that in the
56 * {@code jdk.zipfs} module, must be available if the compiler is to be able
57 * to read JAR files.
58 *
59 * <h2 style="font-family:'DejaVu Sans Mono', monospace; font-style:italic">javah</h2>
60 *
61 * <p>
62 * <em>javah</em> only exists as a command line tool, and does not provide any
63 * direct API. As of JDK 9, it has been deprecated.
64 * Use the {@code -h} option in <em>javac</em> instead.</p>
65 *
66 * <dl style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">
67 * <dt class="simpleTagLabel">Tool Guides:
68 * <dd>{@extLink javac_tool_reference javac},
69 * {@extLink javah_tool_reference javah}
70 * </dl>
71 *
72 * @provides java.util.spi.ToolProvider
73 * @provides com.sun.tools.javac.platform.PlatformProvider
74 * @provides javax.tools.JavaCompiler
75 * @provides javax.tools.Tool
76 *
77 * @uses javax.annotation.processing.Processor
78 * @uses com.sun.source.util.Plugin
79 * @uses com.sun.tools.javac.platform.PlatformProvider
80 *
81 * @moduleGraph
82 * @since 9
83 */
84 module jdk.compiler {
85 requires transitive java.compiler;
86
87 exports com.sun.source.doctree;
88 exports com.sun.source.tree;
89 exports com.sun.source.util;
|
39 * SPI.</p>
40 *
41 * <p> Instances of the tools can be obtained by calling
42 * {@link java.util.spi.ToolProvider#findFirst ToolProvider.findFirst}
43 * or the {@linkplain java.util.ServiceLoader service loader} with the name
44 * {@code "javac"}.
45 *
46 * <p>
47 * In addition, instances of {@link javax.tools.JavaCompiler.CompilationTask}
48 * obtained from {@linkplain javax.tools.JavaCompiler JavaCompiler} can be
49 * downcast to {@link com.sun.source.util.JavacTask JavacTask} for access to
50 * lower level aspects of <em>javac</em>, such as the
51 * {@link com.sun.source.tree Abstract Syntax Tree} (AST).</p>
52 *
53 * <p>This module uses the {@link java.nio.file.spi.FileSystemProvider
54 * FileSystemProvider} API to locate file system providers. In particular,
55 * this means that a jar file system provider, such as that in the
56 * {@code jdk.zipfs} module, must be available if the compiler is to be able
57 * to read JAR files.
58 *
59 * <dl style="font-family:'DejaVu Sans', Arial, Helvetica, sans serif">
60 * <dt class="simpleTagLabel">Tool Guides:
61 * <dd>{@extLink javac_tool_reference javac}
62 * </dl>
63 *
64 * @provides java.util.spi.ToolProvider
65 * @provides com.sun.tools.javac.platform.PlatformProvider
66 * @provides javax.tools.JavaCompiler
67 * @provides javax.tools.Tool
68 *
69 * @uses javax.annotation.processing.Processor
70 * @uses com.sun.source.util.Plugin
71 * @uses com.sun.tools.javac.platform.PlatformProvider
72 *
73 * @moduleGraph
74 * @since 9
75 */
76 module jdk.compiler {
77 requires transitive java.compiler;
78
79 exports com.sun.source.doctree;
80 exports com.sun.source.tree;
81 exports com.sun.source.util;
|