You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by Rob Gonzalez <rg...@wso.williams.edu> on 2003/07/10 16:33:44 UTC

Small Error in BCEL Verifier

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


---------------------------------------------------------------------
To unsubscribe, e-mail: bcel-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bcel-dev-help@jakarta.apache.org