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

Add SourceVersion.RELEASE_17

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P4 P4
    • 17
    • core-libs
    • None
    • minimal
    • Java API
    • SE

      Summary

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

      Problem

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

      Solution

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

      Specification

      --- a/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/SourceVersion.java
      @@ -223,7 +223,15 @@ public enum SourceVersion {
            *
            * @since 16
            */
      -    RELEASE_16;
      +    RELEASE_16,
      +
      +    /**
      +     * The version recognized by the Java Platform, Standard Edition
      +     * 17.
      +     *
      +     * @since 17
      +     */
      +    RELEASE_17;
      
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java b/src/java.compiler/sha
      re/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java
      index db9d370caf2..08a2fb51e6a 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java
      @@ -44,7 +44,7 @@ import javax.annotation.processing.SupportedSourceVersion;
        * @see AbstractAnnotationValueVisitor9
        * @since 14
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public abstract class AbstractAnnotationValueVisitor14<R, P> extends AbstractAnnotationValueVisitor9<R, P> {
      
           /**
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java b/src/java.compiler/share/class
      es/javax/lang/model/util/AbstractElementVisitor14.java
      index 3f0126b2ce1..a0b8484982d 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java
      @@ -49,7 +49,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see AbstractElementVisitor9
        * @since 16
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public abstract class AbstractElementVisitor14<R, P> extends AbstractElementVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses to call.
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java b/src/java.compiler/share/classes/
      javax/lang/model/util/AbstractTypeVisitor14.java
      index 953c415b9b6..ac7ac4e0781 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java
      @@ -47,7 +47,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see AbstractTypeVisitor9
        * @since 14
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public abstract class AbstractTypeVisitor14<R, P> extends AbstractTypeVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses to call.
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java b/src/java.compiler/share/classes/j
      avax/lang/model/util/ElementKindVisitor14.java
      index fd96c6ecad6..681c311bd91 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java
      @@ -61,7 +61,7 @@ import javax.lang.model.SourceVersion;
        * @see ElementKindVisitor9
        * @since 16
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class ElementKindVisitor14<R, P> extends ElementKindVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java b/src/java.compiler/share/classes/javax
      /lang/model/util/ElementScanner14.java
      index 5e5d484fa83..bc7618c4541 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java
      @@ -76,7 +76,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see ElementScanner9
        * @since 16
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class ElementScanner14<R, P> extends ElementScanner9<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java b/src/java.compiler/share
      /classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java
      index f48dd4da3df..347b5225031 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java
      @@ -52,7 +52,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see SimpleAnnotationValueVisitor9
        * @since 14
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class SimpleAnnotationValueVisitor14<R, P> extends SimpleAnnotationValueVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java b/src/java.compiler/share/classes
      /javax/lang/model/util/SimpleElementVisitor14.java
      index 9150f27d0fe..b8de0fe676c 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java
      @@ -57,7 +57,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see SimpleElementVisitor9
        * @since 16
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class SimpleElementVisitor14<R, P> extends SimpleElementVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java b/src/java.compiler/share/classes/ja
      vax/lang/model/util/SimpleTypeVisitor14.java
      index 3a1b6f5d9a1..25af6688f6f 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java
      @@ -56,7 +56,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see SimpleTypeVisitor9
        * @since 14
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class SimpleTypeVisitor14<R, P> extends SimpleTypeVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses; uses {@code null} for the
      diff --git a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java b/src/java.compiler/share/classes/java
      x/lang/model/util/TypeKindVisitor14.java
      index 9309b645f3a..1adc9749364 100644
      --- a/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java
      +++ b/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java
      @@ -61,7 +61,7 @@ import static javax.lang.model.SourceVersion.*;
        * @see TypeKindVisitor9
        * @since 14
        */
      -@SupportedSourceVersion(RELEASE_16)
      +@SupportedSourceVersion(RELEASE_17)
       public class TypeKindVisitor14<R, P> extends TypeKindVisitor9<R, P> {
           /**
            * Constructor for concrete subclasses to call; uses {@code null}

            darcy Joe Darcy
            darcy Joe Darcy
            Jan Lahoda
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: