[kaffe] Re: KJC Classes Fail Verification (fwd)

Rob Gonzalez rgonzale at wso.williams.edu
Thu Jul 10 08:36:04 PDT 2003

Hi all,

It turns out that the error was in the BCEL verifier and not in KJC.  
I've forwarded the relevant information and checked in a quick fix that
_should_ fix the issue with KJC.


---------- Forwarded message ----------
Date: 10 Jul 2003 11:54:08 +0200
From: Laurent Vaills <laurent.vaills at dms.at>
To: Rob Gonzalez <rgonzale at wso.williams.edu>
Cc: kopi-developers at dms.at
Subject: Re: KJC Classes Fail Verification

Hi Rob.

The Java language specification, § 8.4.6 states that "A class inherits
from its direct superclass and direct superinterfaces all the
non-private methods". Thus that makes no sense to speak about overriding
a private method.

So the classfile verifier has to check that a subclass does not override
any final methods declared in the super-class with the public or 
protected or default access.

We use jikes to compile the KJC suite. Jikes seems to make all the
private methods of a class as final.

Best regards,

PS : Rob, soory for my first answer which was sent a little bit too

On Tue, 2003-07-01 at 17:13, Rob Gonzalez wrote:
> Hi Kopi Developers,
> I'm in the process of adding full classfile verification to the kaffe
> project.  Unfortunately, after adding pass 2 verification the KJC suite
> cannot function when kaffe's verifier is turned on because certain classes
> fail verification.  In particular, at.dms.kjc.CClassNameType overrides
> final method printArgs from superclass at.dms.kjc.CReferenceType.  I've
> confirmed this error by running BCEL's JustIce verifier on the offending
> class and it rejects the class for the same reason.
> There may be other classes in the project with similar, minor issues that
> would keep them from passing verification.  We would clearly like all the
> KJC classes to pass verification because kaffe uses it as a default java
> compiler :)
> Thanks!
> Rob

More information about the kaffe mailing list