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
|
@ -1,3 +1,22 @@
|
|||
2000-07-27 Warren Levy <warrenl@cygnus.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2000-07-22 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* java/awt/geom/RectangularShape.java (getPathIterator):
|
||||
|
|
|
@ -13,6 +13,7 @@ details. */
|
|||
|
||||
#include <java/lang/Class.h>
|
||||
#include <java/lang/reflect/Field.h>
|
||||
#include <java/lang/reflect/Modifier.h>
|
||||
|
||||
#define _Jv_FIELD_UNRESOLVED_FLAG 0x8000
|
||||
#define _Jv_FIELD_CONSTANT_VALUE 0x4000
|
||||
|
@ -74,8 +75,11 @@ struct _Jv_Field
|
|||
return type;
|
||||
}
|
||||
|
||||
// FIXME - may need to mask off internal flags.
|
||||
int getModifiers() { return flags; }
|
||||
// Need to mask off all unknown/internal flags before returning.
|
||||
int getModifiers()
|
||||
{
|
||||
return flags & java::lang::reflect::Modifier::ALL_FLAGS;
|
||||
}
|
||||
|
||||
#ifdef COMPACT_FIELDS
|
||||
_Jv_Utf8Const * getNameUtf8Const (jclass cls)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* SHA.java -- Class implementing the SHA-1 algorithm as specified in [1].
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -198,6 +198,10 @@ public class SHA extends MessageDigest implements Cloneable
|
|||
H2 += C;
|
||||
H3 += D;
|
||||
H4 += E;
|
||||
|
||||
// Reset W by clearing it.
|
||||
for (int t = 0; t < 80; ++ t)
|
||||
W[t] = 0;
|
||||
}
|
||||
|
||||
public Object clone ()
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -8,9 +8,9 @@ java.lang.Character.classify12
|
|||
java.lang.String.hash
|
||||
# We support 1.2 for these 3 tests.
|
||||
java.lang.reflect.Modifier.toString12
|
||||
!java.io.ObjectInputOutput.InputTest
|
||||
!java.io.ObjectInputOutput.OutputTest
|
||||
!java.io.ObjectStreamClass.Test
|
||||
java.io.ObjectInputOutput.InputTest
|
||||
java.io.ObjectInputOutput.OutputTest
|
||||
java.io.ObjectStreamClass.Test
|
||||
java.math
|
||||
!java.rmi
|
||||
java.security
|
||||
|
|
Loading…
Add table
Reference in a new issue