Small Error in BCEL Verifier

Rob Gonzalez <[email protected]>
Newsgroups gmane.comp.jakarta.bcel.devel
Message-ID <[email protected]>
Hi everyone,

I'm developing a verifier for the Kaffe Open VM and have been using BCEL's
verifier (great work on that, btw) for debugging.  I'm currently using
BCEL 5.1.

I recently found a pretty obscure bug with JustIce.

When the Jikes compiler compiles a class with a private method, it also
marks the method as final.  However, if a subclass then has a method of
the same name JustIce pass 2 rejects the subclass because it overrides a
final method.  Sun's verifier does not reject such subclasses.

According to the Java Language Specification 8.4.6, a subclass inherits
all non-private methods, so the subclass would not actually be overriding
the private, final method in its superclass because it never inherited it.

Thus JustIce should only reject a class containing a method that overrides
a final method from its superclass hirearchy if the method is non-private.


Cheers,
Rob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.