diff options
Diffstat (limited to 'libjava/classpath/java/io')
-rw-r--r-- | libjava/classpath/java/io/ObjectStreamClass.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/libjava/classpath/java/io/ObjectStreamClass.java b/libjava/classpath/java/io/ObjectStreamClass.java index b7bd127..975dbfc 100644 --- a/libjava/classpath/java/io/ObjectStreamClass.java +++ b/libjava/classpath/java/io/ObjectStreamClass.java @@ -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) { |