Request for feedback on annotation processing API changes made in JDK 9

B. Blaser bsrbnd at gmail.com
Sat Sep 9 11:53:16 UTC 2017


Joe,

I know this is a bit late to give you my feedback on this, but it's
probably better than never...

I tried my annotation processor [1] using JDK 9 and all seems to keep
on working fine with the precious help of "--add-exports" to access
the internal API (as mentioned previously in the thread).

The latter being slightly modified, due to module implementation, is
causing the processor to be only few updated, mainly when using
"ClassReader".

The processor [1] being quite old, I noticed that the tree translation
would need some rewriting along with some style refresh.

I hope this helps,
Bernard

[1] https://github.com/bsrbnd/draft/blob/master/src/symprog/SymProc.java


On 6 April 2017 at 01:31, Joseph D. Darcy <joe.darcy at oracle.com> wrote:
> Hello annotation processing users and authors,
>
> As has been done previously during Java SE 7 and Java SE 8, the JSR 269
> annotation processing API is undergoing a maintenance review (MR) as part of
> Java SE 9.
>
> Most of the API changes are in support of adding modules to the platform,
> both as a language structure in javax.lang.model.* as well as another
> interaction points in javax.annotation.processing in the Filer and
> elsewhere. A small API change was also done to better support repeating
> annotations. A more detailed summary of the API changes as well as an issue
> list is included in the MR material:
>
> http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/summary-2017-03-27.html
> http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/issue-list-2017-03-27.txt
>
> A specdiff of the changes compared to Java SE 8 is also available:
>
> http://cr.openjdk.java.net/~darcy/JDK-9-JSR-269-Changes/specdiff-2017-04-05/
>
> The API changes are intended to be largely compatible with the sources of
> existing processors, their binary linkage, as well as their runtime
> behavior. However, it would be helpful to verify that your existing
> processors work as expected when run under JDK 9. JDK 9 early access
> binaries are available for download:
>
>     https://jdk9.java.net/download/
>
> The current build, b163, includes all planned changes to existing types. The
> next build, b164, scheduled to be available later this week will also
> include the type javax.annotation.processing.Generated. The new type
> javax.annotation.processing.Generated is intended to be a drop-in
> replacement for javax.annotation.Generated. (The type
> javax.annotation.Generated is in a module no longer visible by default.)
>
> Please report experiences running processors under JDK 9 and feedback on the
> API changes.
>
> Thanks,
>
> -Joe


More information about the compiler-dev mailing list