RFR: JDK-8226585: Improve javac messages for using a preview API

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Oct 10 15:54:21 UTC 2019


The javac changes looks good.

I guess I would have preferred to move the check for preview from Check 
to Preview, and also create a tighter integration between 
PreviewFeature.Feature and javac's Feature enum, so that we could 
generate tight error messages, but I guess we can also do that as a 
followup.

Maurizio

On 03/10/2019 10:57, Jan Lahoda wrote:
> Hi,
>
> This is a continuation of Joe's patch from here:
> https://mail.openjdk.java.net/pipermail/compiler-dev/2019-June/013498.html 
>
>
> APIs associated with preview features are split into two groups: 
> essential and non-essential. These are marked with an JDK-internal 
> annotation, PreviewFeature, and a tag in the javadoc, @preview. The 
> javac follows the PreviewFeature annotation, and produces either 
> warnings or errors for the usages of such APIs. For the @preview tag, 
> there is a taglet in the JDK build that adds the content of the tag 
> into the documentation. The first part of the @preview's text goes 
> into the summary, the second part goes into the detailed description.
>
> For build, a tricky problem is that the jdk.compiler module uses the 
> PreviewFeature annotation as well, but that is not in the bootstrap 
> JDK. So, for the intermediate langtools build, the PreviewFeature 
> annotation is copied from java.base.
>
> Proposed webrev:
> http://cr.openjdk.java.net/~jlahoda/8226585/webrev.00/
>
> Javadoc with the change:
> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/index.html
>
> See for example:
> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/java.base/java/lang/String.html 
>
> http://cr.openjdk.java.net/~jlahoda/8226585/docs.00/api/jdk.compiler/com/sun/source/tree/CaseTree.html 
>
>
> JBS:
> https://bugs.openjdk.java.net/browse/JDK-8226585
>
> CSR:
> https://bugs.openjdk.java.net/browse/JDK-8231411
>
> Feedback is welcome!
>
> Thanks,
>     Jan



More information about the build-dev mailing list