aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorWarren Levy <warrenl@cygnus.com>2000-07-27 23:57:07 +0000
committerWarren Levy <warrenl@gcc.gnu.org>2000-07-27 23:57:07 +0000
commit7db51521a018eaa0751e5948091cfb29c841ca91 (patch)
treeff39f131cca0a0da7843ec7d8797e9f7c82bd82d /libjava/java
parentb2244c65f518cfb4b6a5385ddfe45bc3ce2cf9c0 (diff)
downloadgcc-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.java2
-rw-r--r--libjava/java/io/ObjectStreamClass.java14
-rw-r--r--libjava/java/lang/Throwable.java1
-rw-r--r--libjava/java/lang/reflect/Modifier.java2
-rw-r--r--libjava/java/lang/reflect/natConstructor.cc3
-rw-r--r--libjava/java/lang/reflect/natMethod.cc3
-rw-r--r--libjava/java/security/Key.java2
-rw-r--r--libjava/java/security/interfaces/DSAPrivateKey.java2
-rw-r--r--libjava/java/security/interfaces/DSAPublicKey.java2
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();
}