Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8276810

Document JDK-specific aspects of javac



    • Type: Bug
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 18
    • Fix Version/s: tbd
    • Component/s: tools
    • Labels:


      The javac tool implements the annotation processing API, among other interfaces. There are various implementation-specific details of that implementation that would be helpful to users to document. Those details include, but are not limited to:

      * Documentation on how System.err and System.out are used for messages

      * A way to determine if a source version is supported or not

      * For elements/symbols, instanceof is reliable to determine the kind of element:

       "To implement operations based on the class of an Element object, either use a visitor or use the result of the getKind() method. Using instanceof is not necessarily a reliable idiom for determining the effective class of an object in this modeling hierarchy since an implementation may choose to have a single object implement multiple Element subinterfaces."

      * Documentation module determination for Filer.createSourceFile:

      Implementation Note:
          In the reference implementation, if the annotation processing tool is processing a single module M, then M is used as the module for files created without an explicit module prefix. If the tool is processing multiple modules, and Elements.getPackageElement(package-of(name)) returns a package, the module that owns the returned package is used as the target module. A separate option may be used to provide the target module if it cannot be determined using the above rules.

      * Documentation general Path (classpath, module path, etc.) configuration

      * Documentation processing environment getOptions, protocol using -A option, etc.

      * multi-threading support / status


          Issue Links



              Unassigned Unassigned
              darcy Joe Darcy
              0 Vote for this issue
              1 Start watching this issue