VerifyError in PushbackReader

Thomas Graf graf at dms.at
Mon Mar 18 12:28:40 PST 2002


Ito Kazumitsu wrote:

> 
> Now KJC 2.1A has been released.  But when I tried to rebuild 
> Klasses.jar with KJC 2.1A, I got the following message:
> 
> /bin/sh ./rebuildLib
> Compiling classes ...
> java/util/Hashtable.java:169: error:Class "Entry" is not accessible [JLS 6.6.1]
> java/util/Hashtable.java:201: error:Class "Entry" is not accessible [JLS 6.6.1]
> make: *** [lib/stamp] Error 1
> 
> As I see it, the viable choice is to downdrade KJC to KJC 1.5A.
> 

Another choice would be to keep KJC 2.1A and to fix Hashtable.java (and 
HashMap.java) instead ...

In file Hashtable.java, lines 167 to 170 are :
	private void writeDefaultObject() {
		loadFactor = map.loadFactor;
		threshold = (int)(map.table.length * loadFactor);
	}
where :
      "map" is a field of "Hashtable" of type "java.util.HashMap",
      "table" is a field of "HashMap" of type array of "HashMap.Entry",
      "HashMap.Entry" is a private inner class of "HashMap".

 From JLS 6.6.1 "Determining Accessibility" :
   * An array type is accessible if and only if its element type is 
accessible.

Thus, "map.table" is not accessible from class "java.util.Hashtable" and 
a compile-time error must occur. Javac (from JDK 1.4.0beta3) detects the 
error, Jikes 1.15 does not.

Best regards,

Thomas



More information about the kaffe mailing list