[PATCH] javac & kjc 2.1A compilation fix was: Re: VerifyError in PushbackReader

Dalibor Topic kaffe@rufus.w3.org
Mon, 18 Mar 2002 21:20:34 +0100



--------------Boundary-00=_A6R64DB8IV4IO8JIK0R1
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

On Sunday 17 March 2002 18:01, 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 [JL=
S
> 6.6.1] java/util/Hashtable.java:201: error:Class "Entry" is not accessi=
ble
> [JLS 6.6.1] make: *** [lib/stamp] Error 1

the attached patch solves that problem & javac compilation problems for m=
e.=20
could you give it a try?

cheers,

dalibor topic
--------------Boundary-00=_A6R64DB8IV4IO8JIK0R1
Content-Type: text/plain;
  charset="iso-8859-1";
  name="ChangeLog"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="ChangeLog"

	* libraries/javalib/java/util/HashMap.java :
	(getTableLength) new method.
	* libraries/javalib/java/util/Hashtable.java :
	(writeDefaultObject) Use getTableLength instead of accesing
	table directly.
	(writeObject) same.

--------------Boundary-00=_A6R64DB8IV4IO8JIK0R1
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="javac-compilation.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="javac-compilation.patch"

--- kaffe/libraries/javalib/java/util/Hashtable.java	Fri Nov 23 00:38:12 2001
+++ patched-kaffe/libraries/javalib/java/util/Hashtable.java	Mon Mar 18 19:33:57 2002
@@ -166,7 +166,7 @@
 
 	private void writeDefaultObject() {
 		loadFactor = map.loadFactor;
-		threshold = (int)(map.table.length * loadFactor);
+		threshold = (int)(map.getTableLength() * loadFactor);
 	}
 
 	}
@@ -198,7 +198,7 @@
 		stream.defaultWriteObject();
 
 		// remember how many buckets there were
-		stream.writeInt(map.table.length);
+		stream.writeInt(map.getTableLength());
 		stream.writeInt(map.size());
 
 		Iterator i = map.entrySet().iterator();
--- kaffe/libraries/javalib/java/util/HashMap.java	Mon Dec  3 13:11:41 2001
+++ patched-kaffe/libraries/javalib/java/util/HashMap.java	Mon Mar 18 19:33:18 2002
@@ -101,6 +101,10 @@
 		return e == null ? null : e.value;
 	}
 
+	int getTableLength() {
+		return table.length;
+	}
+
 	public Object put(Object key, Object val) {
 
 		// See if key already exists

--------------Boundary-00=_A6R64DB8IV4IO8JIK0R1--



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com