OSDN Git Service

2005-09-16 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Nov 2005 17:08:45 +0000 (17:08 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Nov 2005 17:08:45 +0000 (17:08 +0000)
        * java/io/ObjectStreamClass.java (findAccessibleMethod): Allow
        protected readResolve().  Rewrite accessibility check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107027 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/classpath/ChangeLog
libjava/classpath/java/io/ObjectStreamClass.java

index 6463f49..e1868f2 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-16  Andrew Haley  <aph@redhat.com>
+
+        * java/io/ObjectStreamClass.java (findAccessibleMethod): Allow
+        protected readResolve().  Rewrite accessibility check.
+
 2005-09-06  Mark Wielaard  <mark@klomp.org>
 
        * NEWS: Add new features for 0.18.
index b7bd127..975dbfc 100644 (file)
@@ -514,14 +514,15 @@ outer:
          {
            Method res = c.getDeclaredMethod(name, noArgs);
            int mods = res.getModifiers();
-
-           if (c != from
-               && (Modifier.isPrivate(mods)
-                   || ! Modifier.isPublic(mods) && ! inSamePackage(c, from)))
-             continue;
-
-           AccessController.doPrivileged(new SetAccessibleAction(res));
-           return res;
+           
+           if (c == from  
+               || Modifier.isProtected(mods)
+               || Modifier.isPublic(mods)
+               || (! Modifier.isPrivate(mods) && inSamePackage(c, from)))
+             {
+               AccessController.doPrivileged(new SetAccessibleAction(res));
+               return res;
+             }
          }
        catch (NoSuchMethodException e)
          {