mauve-libgcj: Activated serialization tests.
* mauve-libgcj: Activated serialization tests. * gcj/field.h (getModifiers): Mask off unknown flags. * gnu/java/security/provider/SHA.java (munch): Reset buffer to 0 so spurious bits don't cause discrepancies. * java/io/ObjectOutputStream.java: Fixed typo in comment. * java/io/ObjectStreamClass.java: Fixed typos in comments. (lookup): Applied patch from Brian Jones <cbj@gnu.org> to optimize. (hasClassInitializer): Call getDeclaredMethod instead of getMethod. * java/lang/Throwable.java (serialVersionUID): New field. * java/lang/reflect/Modifier.java (ALL_FLAGS): Preserve STRICT if used. * java/lang/reflect/natConstructor.cc (getModifiers): Mask off unknown flags. * java/lang/reflect/natMethod.cc: Ditto. * java/security/Key.java (serialVersionUID): Removed field for now. * java/security/interfaces/DSAPrivateKey.java (serialVersionUID): Ditto. * java/security/interfaces/DSAPublicKey.java (serialVersionUID): Ditto. Serialization mods. From-SVN: r35302
This commit is contained in:
parent
b2244c65f5
commit
7db51521a0
13 changed files with 50 additions and 20 deletions
|
@ -54,7 +54,7 @@ import gnu.java.lang.reflect.TypeSignature;
|
|||
|
||||
Using default serialization, information about the class of an
|
||||
object is written, all of the non-transient, non-static fields of
|
||||
the object are written, if any of these fields are objects, the are
|
||||
the object are written, if any of these fields are objects, they are
|
||||
written out in the same manner.
|
||||
|
||||
An object is only written out the first time it is encountered. If
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* ObjectStreamClass.java -- Class used to write class information
|
||||
about serialized objects.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class ObjectStreamClass implements Serializable
|
|||
/**
|
||||
Returns the <code>ObjectStreamClass</code> for <code>cl</code>.
|
||||
If <code>cl</code> is null, or is not <code>Serializable</code>,
|
||||
null is returned. <code>ObjectStreamClass</code>'s are memoized;
|
||||
null is returned. <code>ObjectStreamClass</code>'s are memorized;
|
||||
later calls to this method with the same class will return the
|
||||
same <code>ObjectStreamClass</code> object and no recalculation
|
||||
will be done.
|
||||
|
@ -62,13 +62,13 @@ public class ObjectStreamClass implements Serializable
|
|||
{
|
||||
if (cl == null)
|
||||
return null;
|
||||
if (! (Serializable.class).isAssignableFrom (cl))
|
||||
return null;
|
||||
|
||||
ObjectStreamClass osc = (ObjectStreamClass)classLookupTable.get (cl);
|
||||
|
||||
if (osc != null)
|
||||
return osc;
|
||||
else if (! (Serializable.class).isAssignableFrom (cl))
|
||||
return null;
|
||||
else
|
||||
{
|
||||
osc = new ObjectStreamClass (cl);
|
||||
|
@ -161,7 +161,7 @@ public class ObjectStreamClass implements Serializable
|
|||
// private void writeObject (ObjectOutputStream)
|
||||
//
|
||||
// This method is used by the class to override default
|
||||
// serialization behaivior.
|
||||
// serialization behavior.
|
||||
boolean hasWriteMethod ()
|
||||
{
|
||||
return (flags & ObjectStreamConstants.SC_WRITE_METHOD) != 0;
|
||||
|
@ -396,7 +396,7 @@ public class ObjectStreamClass implements Serializable
|
|||
calculateOffsets ();
|
||||
}
|
||||
|
||||
// Sets uid be serial version UID defined by class, or if that
|
||||
// Sets uid to be serial version UID defined by class, or if that
|
||||
// isn't present, calculates value of serial version UID.
|
||||
private void setUID (Class cl)
|
||||
{
|
||||
|
@ -603,7 +603,7 @@ public class ObjectStreamClass implements Serializable
|
|||
try
|
||||
{
|
||||
Class classArgs[] = {};
|
||||
m = clazz.getMethod ("<clinit>", classArgs);
|
||||
m = clazz.getDeclaredMethod ("<clinit>", classArgs);
|
||||
}
|
||||
catch (java.lang.NoSuchMethodException e)
|
||||
{
|
||||
|
|
|
@ -165,4 +165,5 @@ public class Throwable implements Serializable
|
|||
private String detailMessage;
|
||||
|
||||
private transient byte stackTrace[];
|
||||
private static final long serialVersionUID = -3042686055658047285L;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ public class Modifier
|
|||
public static final int STRICT = 0x800;
|
||||
|
||||
// This is only used by the C++ code, so it is not public.
|
||||
static final int ALL_FLAGS = 0x7ff;
|
||||
static final int ALL_FLAGS = 0xfff;
|
||||
|
||||
public static boolean isAbstract (int mod)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,8 @@ details. */
|
|||
jint
|
||||
java::lang::reflect::Constructor::getModifiers ()
|
||||
{
|
||||
return _Jv_FromReflectedConstructor (this)->accflags;
|
||||
// Ignore all unknown flags.
|
||||
return _Jv_FromReflectedConstructor (this)->accflags & Modifier::ALL_FLAGS;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -182,7 +182,8 @@ java::lang::reflect::Method::invoke (jobject obj, jobjectArray args)
|
|||
jint
|
||||
java::lang::reflect::Method::getModifiers ()
|
||||
{
|
||||
return _Jv_FromReflectedMethod (this)->accflags;
|
||||
// Ignore all unknown flags.
|
||||
return _Jv_FromReflectedMethod (this)->accflags & Modifier::ALL_FLAGS;
|
||||
}
|
||||
|
||||
jstring
|
||||
|
|
|
@ -21,7 +21,7 @@ import java.io.Serializable;
|
|||
public interface Key extends Serializable
|
||||
{
|
||||
// FIXME: need to set this at some point when serialization is implemented.
|
||||
public static final long serialVersionUID = 0;
|
||||
// public static final long serialVersionUID = 0L;
|
||||
|
||||
public String getAlgorithm();
|
||||
public String getFormat();
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.math.BigInteger;
|
|||
public interface DSAPrivateKey extends DSAKey, PrivateKey
|
||||
{
|
||||
// FIXME: need to set this at some point when serialization is implemented.
|
||||
public static final long serialVersionUID = 0;
|
||||
// public static final long serialVersionUID = 0L;
|
||||
|
||||
public BigInteger getX();
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.math.BigInteger;
|
|||
public interface DSAPublicKey extends DSAKey, PublicKey
|
||||
{
|
||||
// FIXME: need to set this at some point when serialization is implemented.
|
||||
public static final long serialVersionUID = 0;
|
||||
// public static final long serialVersionUID = 0L;
|
||||
|
||||
public BigInteger getY();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue