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

Document JDK-specific aspects of javac

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 18
    • tools

      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



            Unassigned Unassigned
            darcy Joe Darcy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: