ObjectStreamClass.java (ensureFieldsSet): New method.

2007-04-25  Andrew Haley  <aph@redhat.com>

	* java/io/ObjectStreamClass.java (ensureFieldsSet): New method.
	(setFields): call ensureFieldsSet.
	(fieldsSet): New field.
	* java/io/ObjectOutputStream.java (writeFields): Call
	osc.ensureFieldsSet().

	* java/io/ObjectInputStream.java (parseContent): Assign the handle
	for a PROXYCLASSDESC immediately after reading the marker.

From-SVN: r124187
This commit is contained in:
Andrew Haley 2007-04-26 14:31:29 +00:00
parent 02cba8dfe4
commit 5c12b59bd8
15 changed files with 46 additions and 2 deletions

View file

@ -223,6 +223,15 @@ public class ObjectInputStream extends InputStream
case TC_PROXYCLASSDESC:
{
if(dump) dumpElementln("PROXYCLASS");
/* GCJ LOCAL */
// The grammar at this point is
// TC_PROXYCLASSDESC newHandle proxyClassDescInfo
// i.e. we have to assign the handle immediately after
// reading the marker.
int handle = assignNewHandle("Dummy proxy");
/* END GCJ LOCAL */
int n_intf = this.realInputStream.readInt();
String[] intfs = new String[n_intf];
for (int i = 0; i < n_intf; i++)
@ -250,7 +259,9 @@ public class ObjectInputStream extends InputStream
new InternalError("Object ctor missing").initCause(x);
}
}
assignNewHandle(osc);
/* GCJ LOCAL */
rememberHandle(osc,handle);
/* END GCJ LOCAL */
if (!is_consumed)
{