JDK-8235498 : Add SourceVersion.RELEASE_15
  • Type: CSR
  • Component: core-libs
  • Sub-Component: javax.lang.model
  • Priority: P4
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 15
  • Submitted: 2019-12-06
  • Updated: 2020-05-21
  • Resolved: 2019-12-10
Related Reports
CSR :  
Relates :  
Description
Summary
-------

Add a new enum constant `RELEASE_15` to `javax.lang.model.SourceVersion` for the JDK 15 release and update the `FooVisitor14` visitors to cover release 15 as well.

Problem
-------

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

Solution
--------

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

Specification
-------------

    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
    --- a/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java	Fri Dec 06 21:43:53 2019 -0800
    
    @@ -203,7 +205,15 @@
          *
          * @since 14
          */
    -     RELEASE_14;
    +    RELEASE_14,
    +
    +    /**
    +     * The version recognized by the Java Platform, Standard Edition
    +     * 15.
    +     *
    +     * @since 15
    +     */
    +     RELEASE_15;
     


    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -59,7 +59,7 @@
      * @see AbstractAnnotationValueVisitor9
      * @since 14
      */
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public abstract class AbstractAnnotationValueVisitor14<R, P> extends AbstractAnnotationValueVisitor9<R, P> {
     
         /**
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -73,7 +73,7 @@
      */
     @jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
                                  essentialAPI=false)
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public abstract class AbstractElementVisitor14<R, P> extends AbstractElementVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses to call.
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -62,7 +62,7 @@
      * @see AbstractTypeVisitor9
      * @since 14
      */
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public abstract class AbstractTypeVisitor14<R, P> extends AbstractTypeVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses to call.
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -88,7 +88,7 @@
      */
     @jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
                                  essentialAPI=false)
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class ElementKindVisitor14<R, P> extends ElementKindVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses; uses {@code null} for the
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -102,7 +102,7 @@
      */
     @jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
                                  essentialAPI=false)
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class ElementScanner14<R, P> extends ElementScanner9<R, P> {
         /**
          * Constructor for concrete subclasses; uses {@code null} for the
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -68,7 +68,7 @@
      * @see SimpleAnnotationValueVisitor9
      * @since 14
      */
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class SimpleAnnotationValueVisitor14<R, P> extends SimpleAnnotationValueVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses; uses {@code null} for the
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -82,7 +82,7 @@
      */
     @jdk.internal.PreviewFeature(feature=jdk.internal.PreviewFeature.Feature.RECORDS,
                                  essentialAPI=false)
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class SimpleElementVisitor14<R, P> extends SimpleElementVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses; uses {@code null} for the
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -72,7 +72,7 @@
      * @see SimpleTypeVisitor9
      * @since 14
      */
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class SimpleTypeVisitor14<R, P> extends SimpleTypeVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses; uses {@code null} for the
    diff -r 01cb61a27e61 src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java
    --- a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java	Fri Dec 06 13:32:46 2019 -0800
    +++ b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java	Fri Dec 06 21:39:33 2019 -0800
    @@ -77,7 +77,7 @@
      * @see TypeKindVisitor9
      * @since 14
      */
    -@SupportedSourceVersion(RELEASE_14)
    +@SupportedSourceVersion(RELEASE_15)
     public class TypeKindVisitor14<R, P> extends TypeKindVisitor9<R, P> {
         /**
          * Constructor for concrete subclasses to call; uses {@code null}



Comments
Moving to Approved.
10-12-2019