I just finished hacking javac; I only had to touch four files and write about 100 lines of code. The key was finding the Code.varBuffer
array that contained the local variable information. It was being retained all the way until the class file was written. Once I had found that array, the rest was a piece of cake.
The results, including a jar file containing a version of the 5.0 compiler (javac 1.5.0_06) that can be used instead of the original javac, can be found on the website below:
http://www.cs.rice.edu/~mgricken/research/laptjavac/
All the downloads are covered by the Java Research License and for research purposes only.