[kaffe] Bytecode fails verification when anonymous class inherits inner class of another class.

Ito Kazumitsu ito.kazumitsu at hidec.co.jp
Tue Jan 18 18:46:10 PST 2005


In message "[kaffe] Bytecode fails verification when anonymous class inherits inner class of another class."
    on 05/01/16, Kalle Olavi Niemitalo <kon at iki.fi> writes:

> The resulting Second$1Inner.class contains this method:
> 
> Method name:"<init>" public Signature: (Second,First)void
> Attribute "Code", length:38, max_stack:2, max_locals:3, code_length:14
>   0: aload_0
>   1: aload_2
>   2: getfield <Field First$Inner.this$0 First>
>   5: invokespecial <Method First$Inner.<init> (First)void>

> The getfield instruction at PC=2 is incorrect, as shown by GCC:
> 
> $ gcj -c 'Second$1Inner.class'
> PR19471.java: In class 'Second$1Inner':
> PR19471.java: In constructor '(Second,First)':
> PR19471.java:7: error: verification error at PC=2
> PR19471.java:7: error: expected type 'First$Inner' but stack contains 'First'

This problem must have something to do with kjc/kjc/JConstructorCall.java.

Kaffe's cuurent JConstructorCall.java is the one merged from the
Kopi CVS on April 10, 2004, but reverting this to the original
source of KJC-2.1B,  I found no getfield put to the output class
file.





More information about the kaffe mailing list