Details

    • Type: CSR
    • Status: Closed
    • Priority: P4
    • Resolution: Approved
    • Fix Version/s: 14
    • Component/s: core-libs
    • Labels:
      None
    • Subcomponent:
    • Compatibility Kind:
      behavioral
    • Compatibility Risk:
      minimal
    • Compatibility Risk Description:
      Expected evolution of existing API.
    • Interface Kind:
      Java API
    • Scope:
      SE

      Description

      Summary

      Add a new enum constant RELEASE_14 to javax.lang.model.SourceVersion for the JDK 14 release and update the FooVisitor9 visitors to cover release 14 as well.

      Problem

      The SourceVersion enum needs an enum constant for each release being modeled.

      Solution

      Append the enum constant RELEASE_14 and update the visitor text and supported source version annotations to cover from RELEASE_9 to RELEASE_14.

      Specification

      --- old/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java 2019-05-17 09:42:41.520000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java 2019-05-17 09:42:41.132000000 -0700
      @@ -192,7 +193,15 @@
            *
            * @since 13
            */
      -     RELEASE_13;
      +     RELEASE_13,
      +
      +    /**
      +     * The version recognized by the Java Platform, Standard Edition
      +     * 14.
      +     *
      +     * @since 14
      +     */
      +     RELEASE_14;
      
      --- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java  2019-05-17 09:42:42.628000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java  2019-05-17 09:42:42.188000000 -0700
      @@ -32,7 +32,7 @@
       /**
        * A skeletal visitor for annotation values with default behavior
        * appropriate for source versions {@link SourceVersion#RELEASE_9
      - * RELEASE_9} through {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * RELEASE_9} through {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * <p> <b>WARNING:</b> The {@code AnnotationValueVisitor} interface
        * implemented by this class may have methods added to it in the
      @@ -59,7 +59,7 @@
        * @see AbstractAnnotationValueVisitor8
        * @since 9
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public abstract class AbstractAnnotationValueVisitor9<R, P> extends AbstractAnnotationValueVisitor8<R, P> {
      
           /**
      --- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java  2019-05-17 09:42:43.988000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java  2019-05-17 09:42:43.612000000 -0700
      @@ -34,7 +34,7 @@
       /**
        * A skeletal visitor of program elements with default behavior
        * appropriate for source versions {@link SourceVersion#RELEASE_9
      - * RELEASE_9} through {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * RELEASE_9} through {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * <p> <b>WARNING:</b> The {@code ElementVisitor} interface
        * implemented by this class may have methods added to it in the
      @@ -65,7 +65,7 @@
        * @since 9
        * @spec JPMS
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public abstract class AbstractElementVisitor9<R, P> extends AbstractElementVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses to call.
      --- old/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java 2019-05-17 09:42:45.356000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java 2019-05-17 09:42:44.976000000 -0700
      @@ -33,7 +33,7 @@
       /**
        * A skeletal visitor of types with default behavior appropriate for
        * source versions {@link SourceVersion#RELEASE_9 RELEASE_9} through
      - * {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * <p> <b>WARNING:</b> The {@code TypeVisitor} interface implemented
        * by this class may have methods added to it in the future to
      @@ -63,7 +63,7 @@
        * @see AbstractTypeVisitor8
        * @since 9
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public abstract class AbstractTypeVisitor9<R, P> extends AbstractTypeVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses to call.
      --- old/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java  2019-05-17 09:42:46.688000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java  2019-05-17 09:42:46.308000000 -0700
      @@ -34,7 +34,7 @@
        * A visitor of program elements based on their {@linkplain
        * ElementKind kind} with default behavior appropriate for source
        * versions {@link SourceVersion#RELEASE_9 RELEASE_9} through {@link
      - * SourceVersion#RELEASE_13 RELEASE_13}.
      + * SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * For {@linkplain
        * Element elements} <code><i>Xyz</i></code> that may have more than one
      @@ -80,7 +80,7 @@
        * @since 9
        * @spec JPMS
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class ElementKindVisitor9<R, P> extends ElementKindVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      --- old/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java  2019-05-17 09:42:48.016000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java  2019-05-17 09:42:47.640000000 -0700
      @@ -34,7 +34,7 @@
       /**
        * A scanning visitor of program elements with default behavior
        * appropriate for source versions {@link SourceVersion#RELEASE_9
      - * RELEASE_9} through {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * RELEASE_9} through {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * The <code>visit<i>Xyz</i></code> methods in this
        * class scan their component elements by calling {@code scan} on
      @@ -92,7 +92,7 @@
        * @since 9
        * @spec JPMS
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class ElementScanner9<R, P> extends ElementScanner8<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      --- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java    2019-05-17 09:42:49.360000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java    2019-05-17 09:42:48.960000000 -0700
      @@ -32,7 +32,7 @@
       /**
        * A simple visitor for annotation values with default behavior
        * appropriate for source versions {@link SourceVersion#RELEASE_9
      - * RELEASE_9} through {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * RELEASE_9} through {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * Visit methods call {@link #defaultAction
        * defaultAction} passing their arguments to {@code defaultAction}'s
      @@ -68,7 +68,7 @@
        * @see SimpleAnnotationValueVisitor8
        * @since 9
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class SimpleAnnotationValueVisitor9<R, P> extends SimpleAnnotationValueVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      --- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java    2019-05-17 09:42:50.724000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java    2019-05-17 09:42:50.320000000 -0700
      @@ -33,7 +33,7 @@
       /**
        * A simple visitor of program elements with default behavior
        * appropriate for source versions {@link SourceVersion#RELEASE_9
      - * RELEASE_9} through {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * RELEASE_9} through {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * Visit methods corresponding to {@code RELEASE_9} and earlier
        * language constructs call {@link #defaultAction defaultAction},
      @@ -73,7 +73,7 @@
        * @since 9
        * @spec JPMS
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class SimpleElementVisitor9<R, P> extends SimpleElementVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      --- old/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java   2019-05-17 09:42:52.188000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java   2019-05-17 09:42:51.720000000 -0700
      @@ -33,7 +33,7 @@
       /**
        * A simple visitor of types with default behavior appropriate for
        * source versions {@link SourceVersion#RELEASE_9 RELEASE_9} through
      - * {@link SourceVersion#RELEASE_13 RELEASE_13}.
      + * {@link SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * Visit methods corresponding to {@code RELEASE_9} and earlier
        * language constructs call {@link #defaultAction defaultAction},
      @@ -73,7 +73,7 @@
        * @see SimpleTypeVisitor8
        * @since 9
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class SimpleTypeVisitor9<R, P> extends SimpleTypeVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      --- old/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java 2019-05-17 09:42:53.676000000 -0700
      +++ new/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java 2019-05-17 09:42:53.236000000 -0700
      @@ -34,7 +34,7 @@
        * A visitor of types based on their {@linkplain TypeKind kind} with
        * default behavior appropriate for source versions {@link
        * SourceVersion#RELEASE_9 RELEASE_9} through {@link
      - * SourceVersion#RELEASE_13 RELEASE_13}.
      + * SourceVersion#RELEASE_14 RELEASE_14}.
        *
        * For {@linkplain
        * TypeMirror types} <code><i>Xyz</i></code> that may have more than one
      @@ -77,7 +77,7 @@
        * @see TypeKindVisitor8
        * @since 9
        */
      -@SupportedSourceVersion(RELEASE_13)
      +@SupportedSourceVersion(RELEASE_14)
       public class TypeKindVisitor9<R, P> extends TypeKindVisitor8<R, P> {
           /**
            * Constructor for concrete subclasses to call; uses {@code null}

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                darcy Joe Darcy
                Reporter:
                darcy Joe Darcy
                Reviewed By:
                Jonathan Gibbons
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: