1 /* |
1 /* |
2 * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
22 * or visit www.oracle.com if you need additional information or have any |
22 * or visit www.oracle.com if you need additional information or have any |
23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 |
25 |
26 /** Defines the implementation of the |
26 /** |
27 * {@link javax.tools.ToolProvider#getSystemJavaCompiler system Java compiler} |
27 * Defines the implementation of the |
28 * and its command line equivalent, <em>javac</em>, as well as <em>javah</em>. |
28 * {@link javax.tools.ToolProvider#getSystemJavaCompiler system Java compiler} |
|
29 * and its command line equivalent, <em>{@index javac javac tool}</em>, |
|
30 * as well as <em>{@index javah javah tool}</em>. |
29 * |
31 * |
30 * @moduleGraph |
32 * <h2 style="font-family:'DejaVu Sans Mono', monospace; font-style:italic">javac</h2> |
31 * @since 9 |
33 * |
|
34 * <p> |
|
35 * This module provides the equivalent of command-line access to <em>javac</em> |
|
36 * via the {@link java.util.spi.ToolProvider ToolProvider} and |
|
37 * {@link javax.tools.Tool} service provider interfaces (SPIs), |
|
38 * and more flexible access via the {@link javax.tools.JavaCompiler JavaCompiler} |
|
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 {@link 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 |
32 */ |
83 */ |
33 module jdk.compiler { |
84 module jdk.compiler { |
34 requires transitive java.compiler; |
85 requires transitive java.compiler; |
35 |
86 |
36 exports com.sun.source.doctree; |
87 exports com.sun.source.doctree; |