libgcj verifier handling of uninitialized types

Per Bothner per@bothner.com
Tue Jan 15 14:01:00 GMT 2002


I'm getting a verifier exception on the following:

Method name:"getFormat" public Signature: 
396=(boolean)gnu.lists.FormatToConsumer
Attribute "Code", length:28, max_stack:1, max_locals:2, code_length:4
   0: getstatic #398=<Field gnu.xquery.lang.XQuery.writeFormat 
gnu.xquery.util.XMLFormat>
   3: areturn
Attribute "LineNumberTable", length:6, count: 1
   line: 237 at pc: 0

Here gnu.xquery.util.XMLFormat is a class that extends another class
that implements the interface gnu.lists.FormatToConsumer.

Without having actually confirmed this with the debugger, it seems
to me that the following code in verify.cc is suspicious:

       // An initialized type and an uninitialized type are not
       // compatible.
       if (isinitialized () != k.isinitialized ())
	return false;

Is this really correct?  Even if one of them is an interface?
-- 
	--Per Bothner
per@bothner.com   http://www.bothner.com/per/



More information about the Java mailing list