Screwing around with GJ.

I've been playing with the various prototype compilers that Sun has been releasing as part of its "Extending the Java Programming Language with Generic Types" project. In addition, I've hung around the Forum trying to remedy some deficiencies in the prototypes released so far.

This page is a place to collect my various work on GJ-related things, including updated javadoc for the current 1.2 prototype compiler, a javap tool that works on GJ class files, and a a list of bugs I've found in the 1.2 prototype. I'm working on converting FLEX to GJ, so I'll probably keep hacking on things until the GJ compiler is bug-free enough to let me get Real Work Done on FLEX.

Updated javadoc

The 1.2 prototype compiler updated the GJ-ified Collections (and other?) APIs, but did not come with updated javadoc. As a result, your existing code which extends Collections tends to mysteriously fail because your type signatures no longer match properly. It doesn't help that the prototype compiler crashes hard for some of these mismatches. So --- to each your pain, I've gone through the javadoc with the help of my javap-like tool below and manually tried to fixup the javadoc to be accurate. Note that this is accurate to what's shipping now with the 1.2 prototype; note my list below for details on what I think may be "broken" in this release and thus slated for change in future releases.

So, without further ado, here are some links to the goodies:

Javap-like tool for GJ

I've written a no-frills javap-like tool that a) doesn't choke on bytecode emitted by the GJ compiler, as does the standard Sun javap, and b) actually parses the GJ Signature attribute to emit the correct GJ signature for the methods in the class. This was invaluable to be in looking through the jar files supplied with the 1.2 compiler to look for what had changed. Maybe it will be helpful to you, too.

To use:

Bug list for 1.2 prototype compiler

Here are the bugs I know about or suspect are in the 1.2 prototype compiler. Note that none of these have been confirmed by the good folk at Sun yet, so some of these might actually be "features" in disguise.


Valid XHTML 1.0!