[Biojava-l] Compiling with Jikes

Thomas Down td2@sanger.ac.uk
Sun, 4 Mar 2001 11:22:46 +0000


I used to use jikes, back in the dim and distant past when java
was slow, and javac was slower.  But I had too many cases of
it objected to code which looked fine to me (and also, old
versions sometimes crashed on me -- that may have been fixed
now).

Incidentally, you might like to look at the javac in jdk1.3 --
it's a complete rewrite of the old one, and is significantly
faster (and fixes a fair number of bugs).

Anyway -- to the errors...

At first the set you posted didn't make sense -- there
certainly isn't any circularity between the Alphabet and
FiniteAlphabet definitions.  however, the nested class
Alphabet$EmptyAlphabet implements FiniteAlphabet, so I guess
there's circularity between the two compilation units.  I'm
not sure what the rights and wrongs of this are (I might
check the language specs later).  It doesn't feel wrong to me,
but if jikes says otherwise I guess we should fix it.

The obvious solution is simply to move EmptyAlphabet into
it's own source file (there's no reason why it /needs/ to be
a nested class, other than general coding style).  It can
then be a normal package-private class of bio.symbol.

Does this help?

     Thomas (and there was I thinking that the pre-1.3 jaavc
             was problematic enough...)