changeset 115:e7a91a357527

6622385: Accessing protected static methods Summary: Protected contraints should only be applied if member is not static Reviewed-by: acorn, coleenp
author kamg
date Wed, 16 Apr 2008 17:36:29 -0400
parents ba764ed4b6f2
children 018d5b58dd4f
files src/share/vm/runtime/reflection.cpp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/reflection.cpp	Sun Apr 13 17:43:42 2008 -0400
+++ b/src/share/vm/runtime/reflection.cpp	Wed Apr 16 17:36:29 2008 -0400
@@ -500,7 +500,8 @@
     if (!protected_restriction) {
       // See if current_class is a subclass of field_class
       if (Klass::cast(current_class)->is_subclass_of(field_class)) {
-        if (current_class == resolved_class ||
+        if (access.is_static() || // static fields are ok, see 6622385
+            current_class == resolved_class ||
             field_class == resolved_class ||
             Klass::cast(current_class)->is_subclass_of(resolved_class) ||
             Klass::cast(resolved_class)->is_subclass_of(current_class)) {