Path: blob/master/src/jdk.compiler/share/classes/module-info.java
41145 views
/*1* Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425/**26* Defines the implementation of the27* {@linkplain javax.tools.ToolProvider#getSystemJavaCompiler system Java compiler}28* and its command line equivalent, <em>{@index javac javac tool}</em>.29*30* <h2 style="font-family:'DejaVu Sans Mono', monospace; font-style:italic">javac</h2>31*32* <p>33* This module provides the equivalent of command-line access to <em>javac</em>34* via the {@link java.util.spi.ToolProvider ToolProvider} and35* {@link javax.tools.Tool} service provider interfaces (SPIs),36* and more flexible access via the {@link javax.tools.JavaCompiler JavaCompiler}37* SPI.</p>38*39* <p> Instances of the tools can be obtained by calling40* {@link java.util.spi.ToolProvider#findFirst ToolProvider.findFirst}41* or the {@linkplain java.util.ServiceLoader service loader} with the name42* {@code "javac"}.43*44* <p>45* In addition, instances of {@link javax.tools.JavaCompiler.CompilationTask}46* obtained from {@linkplain javax.tools.JavaCompiler JavaCompiler} can be47* downcast to {@link com.sun.source.util.JavacTask JavacTask} for access to48* lower level aspects of <em>javac</em>, such as the49* {@link com.sun.source.tree Abstract Syntax Tree} (AST).</p>50*51* <p>This module uses the {@link java.nio.file.spi.FileSystemProvider52* FileSystemProvider} API to locate file system providers. In particular,53* this means that a jar file system provider, such as that in the54* {@code jdk.zipfs} module, must be available if the compiler is to be able55* to read JAR files.56*57* @toolGuide javac58*59* @provides java.util.spi.ToolProvider60* @provides com.sun.tools.javac.platform.PlatformProvider61* @provides javax.tools.JavaCompiler62* @provides javax.tools.Tool63*64* @uses javax.annotation.processing.Processor65* @uses com.sun.source.util.Plugin66* @uses com.sun.tools.javac.platform.PlatformProvider67*68* @moduleGraph69* @since 970*/71module jdk.compiler {72requires transitive java.compiler;7374exports com.sun.source.doctree;75exports com.sun.source.tree;76exports com.sun.source.util;77exports com.sun.tools.javac;7879exports com.sun.tools.doclint to80jdk.javadoc;81exports com.sun.tools.javac.api to82jdk.javadoc,83jdk.jshell;84exports com.sun.tools.javac.resources to85jdk.jshell;86exports com.sun.tools.javac.code to87jdk.javadoc,88jdk.jshell;89exports com.sun.tools.javac.comp to90jdk.javadoc,91jdk.jshell;92exports com.sun.tools.javac.file to93jdk.jdeps,94jdk.javadoc;95exports com.sun.tools.javac.jvm to96jdk.javadoc;97exports com.sun.tools.javac.main to98jdk.javadoc,99jdk.jshell;100exports com.sun.tools.javac.model to101jdk.javadoc;102exports com.sun.tools.javac.parser to103jdk.jshell;104exports com.sun.tools.javac.platform to105jdk.jdeps,106jdk.javadoc;107exports com.sun.tools.javac.tree to108jdk.javadoc,109jdk.jshell;110exports com.sun.tools.javac.util to111jdk.jdeps,112jdk.javadoc,113jdk.jshell;114exports jdk.internal.shellsupport.doc to115jdk.jshell;116117uses javax.annotation.processing.Processor;118uses com.sun.source.util.Plugin;119uses com.sun.tools.doclint.DocLint;120uses com.sun.tools.javac.platform.PlatformProvider;121122provides java.util.spi.ToolProvider with123com.sun.tools.javac.main.JavacToolProvider;124125provides com.sun.tools.javac.platform.PlatformProvider with126com.sun.tools.javac.platform.JDKPlatformProvider;127128provides javax.tools.JavaCompiler with129com.sun.tools.javac.api.JavacTool;130131provides javax.tools.Tool with132com.sun.tools.javac.api.JavacTool;133}134135136137