langtools/src/jdk.compiler/share/classes/module-info.java
changeset 45680 6a7b5298fcf5
parent 44452 93f6470b1045
child 45684 2c5f2779c3d1
equal deleted inserted replaced
45600:6589d4088eaa 45680:6a7b5298fcf5
     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;