RFR: 8144185: javac produces incorrect RuntimeInvisibleTypeAnnotations length attribute

Liam Miller-Cushon cushon at google.com
Thu May 4 16:02:56 UTC 2017


Hello, could I get feedback on this potential fix for JDK-8144185?

bug: https://bugs.openjdk.java.net/browse/JDK-8144185
webrev: http://cr.openjdk.java.net/~cushon/8144185/webrev.00/

We ran into this because the incorrect localvar_target crashes ASM. The
change causes annotations on captured outer locals to not be propagated to
the synthetic formal parameter, as discussed here:
http://mail.openjdk.java.net/pipermail/compiler-dev/2015-December/009866.html
.

I gave the parameters for captured enclosing instances the same treatment,
although I'm not sure it's possible for type annotations to be attached to
them.

I also removed some calls to `setTypeAttributes` that as far as I can tell
were redundant with the call to that method in `translate(Symbol,
LambdaSymbolKind)`, and which were incorrect for captured outer locals.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20170504/e9c29275/attachment.html>


More information about the compiler-dev mailing list