On Tue, 29 Nov 2022 04:45:57 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> Usual start-of-release updates. Symbol updates in initial version reflect 
>> JDK 20 build 21.
>
> src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java
>  line 47:
> 
>> 45:  * @since 14
>> 46:  */
>> 47: @SupportedSourceVersion(RELEASE_21)
> 
> It is a pity these have to be updated each release. Is there no way to say 
> `latest` here?

Not with the current language specification, no.

The only enum value "constant-enough" to use in an annotation is the name of an 
enum constant, a public static final field assigned an enum value is not enough.

On the flip side, I make the updates to these annotations using a one-line sed 
script I have saved away in a comment on one of the previous 
start-of-release-updates-for-JDK-N bugs. Using the annotations in this way is 
in lieu of adding another type specification for the JDK version. In other 
words, having AbstractAnnotationValueVisitor**14**.java with an annotation 
indicating RELEASE_21 prevents having AbstractAnnotationValueVisitor15, 
AbstractAnnotationValueVisitor16, ... , AbstractAnnotationValueVisitor21.

New visitors are now only introduced when adding new kinds of structures 
requires differences in behavior.

Thanks for the review.

-------------

PR: https://git.openjdk.org/jdk/pull/10924

Reply via email to