harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1309) [luni][tests] incorrect test for reflection access control
Date Tue, 29 Aug 2006 10:08:30 GMT
[luni][tests] incorrect test for reflection access control

                 Key: HARMONY-1309
                 URL: http://issues.apache.org/jira/browse/HARMONY-1309
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
            Reporter: Alexey Varlamov
            Priority: Minor

There is a test[1] in classlib, which verifies that reflection access
from enclosing class to a private member of a nested class results in
However, this is against the language specification (para 6.6.1 of the JLS3):
"if the member or constructor is declared private, then access is
permitted if and only if it occurs within the body of the top level class (7.6)
that encloses the declaration of the member or constructor."

Moreover, the following test reveals inconsistency between standard
access control and reflective one:
class NestedAccessTest {
static class A {
       private static int x = 123;
public static void main(String... s) throws Throwable{
>java -showversion NestedAccessTest
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
Exception in thread "main" java.lang.IllegalAccessException: Class
NestedAccessTest can not access a member of class NestedAccessTest$A
with modifiers "private static"
       at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
       at java.lang.reflect.Field.doSecurityCheck(Field.java:954)
       at java.lang.reflect.Field.getFieldAccessor(Field.java:895)
       at java.lang.reflect.Field.get(Field.java:357)
       at NestedAccessTest.main(NestedAccessTest.java:7)

Besides, this is an acknowledged bug of RI [2], and is ranked TOP#6.

[1]<testcase classname="tests.api.java.lang.reflect.FieldTest"
[2] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4071957

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message