I’ve been doing a lot more gcjx hacking over break. It is now
down to around 180 Jacks failures (still some definite assignment
stuff to clean up). I’ve been compiling Classpath using it quite
regularly, and finally checked in a Classpath build patch to make it
simple to try this out.
My kind-of-wacky plan of using fields that define
operator() to make them act like methods was successful
recently. When I refactored warning handling to add support for
SuppressWarnings, I turned all those fields into real methods and
pushed them into a superclass (which is then reused elsewhere). This
required no changes to any users, which of course was the goal. It’s
all about the textual form.
Sometimes I think refactoring is over-hyped. One problem with it
is that you have to hope that either the IDE writer thought to include
the refactoring you need, or that you can hack the IDE to provide it
(assuming it is difficult enough to do that it warrants this). A more
flexible approach would combine something like pattern matching on the
AST with Emacs keyboard macros. That way you could use semantic
information to find the areas to change (useful), but then use plain
old text hacking to do the actual modification.
I plan to spend the rest of vacation lazing about and occasionally
hacking on medi8. I’d like to be able to actually edit something
before work starts again.