diff options
author | Warren Levy <warrenl@cygnus.com> | 2000-07-27 23:57:07 +0000 |
---|---|---|
committer | Warren Levy <warrenl@gcc.gnu.org> | 2000-07-27 23:57:07 +0000 |
commit | 7db51521a018eaa0751e5948091cfb29c841ca91 (patch) | |
tree | ff39f131cca0a0da7843ec7d8797e9f7c82bd82d /libjava/java | |
parent | b2244c65f518cfb4b6a5385ddfe45bc3ce2cf9c0 (diff) | |
download | gcc-7db51521a018eaa0751e5948091cfb29c841ca91.zip gcc-7db51521a018eaa0751e5948091cfb29c841ca91.tar.gz gcc-7db51521a018eaa0751e5948091cfb29c841ca91.tar.bz2 |
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
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/io/ObjectOutputStream.java | 2 | ||||
-rw-r--r-- | libjava/java/io/ObjectStreamClass.java | 14 | ||||
-rw-r--r-- | libjava/java/lang/Throwable.java | 1 | ||||
-rw-r--r-- | libjava/java/lang/reflect/Modifier.java | 2 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natConstructor.cc | 3 | ||||
-rw-r--r-- | libjava/java/lang/reflect/natMethod.cc | 3 | ||||
-rw-r--r-- | libjava/java/security/Key.java | 2 | ||||
-rw-r--r-- | libjava/java/security/interfaces/DSAPrivateKey.java | 2 | ||||
-rw-r--r-- | libjava/java/security/interfaces/DSAPublicKey.java | 2 |
9 files changed, 17 insertions, 14 deletions
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java index 23bcce4..a13f14a 100644 --- a/libjava/java/io/ObjectOutputStream.java +++ b/libjava/java/io/ObjectOutputStream.java @@ -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 diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java index c43112d..f39d365 100644 --- a/libjava/java/io/ObjectStreamClass.java +++ b/libjava/java/io/ObjectStreamClass.java @@ -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) { diff --git a/libjava/java/lang/Throwable.java b/libjava/java/lang/Throwable.java index 1a0876f..610a499 100644 --- a/libjava/java/lang/Throwable.java +++ b/libjava/java/lang/Throwable.java @@ -165,4 +165,5 @@ public class Throwable implements Serializable private String detailMessage; private transient byte stackTrace[]; + private static final long serialVersionUID = -3042686055658047285L; } diff --git a/libjava/java/lang/reflect/Modifier.java b/libjava/java/lang/reflect/Modifier.java index 14b0da3..5fddbc6 100644 --- a/libjava/java/lang/reflect/Modifier.java +++ b/libjava/java/lang/reflect/Modifier.java @@ -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) { diff --git a/libjava/java/lang/reflect/natConstructor.cc b/libjava/java/lang/reflect/natConstructor.cc index 48f5aa3..a8da794 100644 --- a/libjava/java/lang/reflect/natConstructor.cc +++ b/libjava/java/lang/reflect/natConstructor.cc @@ -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 diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc index 0cee80b..ce4a15c 100644 --- a/libjava/java/lang/reflect/natMethod.cc +++ b/libjava/java/lang/reflect/natMethod.cc @@ -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 diff --git a/libjava/java/security/Key.java b/libjava/java/security/Key.java index c8598db..b3f2bef 100644 --- a/libjava/java/security/Key.java +++ b/libjava/java/security/Key.java @@ -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(); diff --git a/libjava/java/security/interfaces/DSAPrivateKey.java b/libjava/java/security/interfaces/DSAPrivateKey.java index a2cb583..c0efe21b4 100644 --- a/libjava/java/security/interfaces/DSAPrivateKey.java +++ b/libjava/java/security/interfaces/DSAPrivateKey.java @@ -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(); } diff --git a/libjava/java/security/interfaces/DSAPublicKey.java b/libjava/java/security/interfaces/DSAPublicKey.java index 7cab070..43eedaf 100644 --- a/libjava/java/security/interfaces/DSAPublicKey.java +++ b/libjava/java/security/interfaces/DSAPublicKey.java @@ -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(); } |