Opportunistic coin improvements for JDK8: Can those be tracked someplace? (Any annotation in annotations)
reinier at zwitserloot.com
Mon Feb 6 14:58:41 PST 2012
Good news! - Phew!
Annotations *ARE* stored as:
[Member Name, Member Type, Member Value]
tuples, therefore adding this feature is very simple. No changes to the
class file format are required (in fact, not a single character in the
entire JVMS needs an update, not even examples or clarifications), and for
reflection + javac support, only 3 lines need to be patched.
javax.lang.model is a little more work, and a loop detector needs to be
added for default values in Check.java, but all in all it's about a page
and a half of patch.
We'll post a complete proposal including a full patch for JLS, javac, and
JVM, and an experimentation tool (a java agent which, if added to javac,
will 'live patch' any javac7 for quick experimentation, no need to build a
new javac from scratch or look around for a prebuilt binary for your
platform!) in a few hours.
More information about the coin-dev