ExtendsAccess.java revision 0
0N/Aclass ExtendsAccess {
0N/A class defaultClass { }
0N/A public class publicClass { }
0N/A private class privateClass { }
0N/A protected class protectedClass { }
0N/A static class defaultStaticClass { }
0N/A public static class publicStaticClass { }
0N/A private static class privateStaticClass { }
0N/A protected static class protectedStaticClass { }
0N/A interface defaultInterface { }
0N/A public interface publicInterface { }
0N/A private interface privateInterface { }
0N/A protected interface protectedInterface { }
0N/Aclass ExtendsAccess1211 extends ExtendsAccess.publicClass { } // OK - can extend inner classes (was ERROR - no enclosing instance)
0N/Aclass ExtendsAccess1221 extends ExtendsAccess.defaultClass { } // OK - can extend inner classes (was ERROR - no enclosing instance)
0N/Aclass ExtendsAccess1231 extends ExtendsAccess.protectedClass { } // OK - can extend inner classes (was ERROR - no enclosing instance)
0N/Aclass ExtendsAccess1241 extends ExtendsAccess.privateClass { } // ERROR - cannot access 'privateClass'
0N/Aclass ExtendsAccess1212 extends p.ExtendsAccess.publicClass { } // OK - can extend inner classes (was ERROR - no enclosing instance)
0N/Aclass ExtendsAccess1222 extends p.ExtendsAccess.defaultClass { } // ERROR - cannot access 'defaultClass'
0N/Aclass ExtendsAccess1232 extends p.ExtendsAccess.protectedClass { } // ERROR - cannot access 'protectedClass'
0N/Aclass ExtendsAccess1242 extends p.ExtendsAccess.privateClass { } // ERROR - cannot access 'privateClass'
0N/A class N extends publicClass { }
0N/A class N extends defaultClass { }
0N/A class N extends protectedClass { }
0N/A class N extends publicClass { }
0N/A class N extends protectedClass { }
0N/Aclass ExtendsAccess211 extends publicStaticClass { } // ERROR - 'publicStaticClass' not in scope
0N/Aclass ExtendsAccess212 extends defaultStaticClass { } // ERROR - 'defaultStaticClass' not in scope
0N/Aclass ExtendsAccess213 extends protectedStaticClass { } // ERROR - 'protectedStaticClass' not in scope
0N/Aclass ExtendsAccess214 extends privateStaticClass { } // ERROR - 'privateStaticClass' not in scope
0N/Aclass ExtendsAccess2241 extends ExtendsAccess.privateStaticClass { } // ERROR - cannot access 'privateStaticClass'
0N/Aclass ExtendsAccess2222 extends p.ExtendsAccess.defaultStaticClass { } // ERROR - cannot access 'defaultStaticClass'
0N/Aclass ExtendsAccess2232 extends p.ExtendsAccess.protectedStaticClass { }// ERROR - cannot access 'protectedStaticClass'
0N/Aclass ExtendsAccess2242 extends p.ExtendsAccess.privateStaticClass { } // ERROR - cannot access 'privateStaticClass'
0N/A class N extends publicStaticClass { }
0N/A class N extends defaultStaticClass { }
0N/A class N extends protectedStaticClass { }
0N/A class N extends publicStaticClass { }
0N/A class N extends protectedStaticClass { }
0N/A class N extends ExtendsAccess.protectedStaticClass { } // OK (was should be error, see JLS 6.6.2)
0N/A class N extends ExtendsAccess.privateStaticClass { } // ERROR - cannot access 'privateStaticClass'
0N/A class N extends p.ExtendsAccess.defaultStaticClass { } // ERROR - cannot access 'defaultStaticClass'
0N/A class N extends p.ExtendsAccess.protectedStaticClass { } // OK (was: should be error, see JLS 6.6.2)
0N/A class N extends p.ExtendsAccess.privateStaticClass { } // ERROR - cannot access 'privateStaticClass'
0N/Aclass ExtendsAccess311 extends ExtendsAccess implements publicInterface { } // ERROR - 'publicInterface' not in scope
0N/Aclass ExtendsAccess312 extends ExtendsAccess implements defaultInterface { } // ERROR - 'defaultInterface' not in scope
0N/Aclass ExtendsAccess313 extends ExtendsAccess implements protectedInterface { } // ERROR - 'protectedInterface' not in scope
0N/Aclass ExtendsAccess314 extends ExtendsAccess implements privateInterface { } // ERROR - 'privateInterface' not in scope
0N/A implements p.ExtendsAccess.protectedInterface { } // ERROR - cannot access 'protectedStaticClass'
0N/A class N implements publicInterface { }
0N/A class N implements defaultInterface { }
0N/A class N implements protectedInterface { }
0N/A class N implements publicInterface { }
0N/A class N implements protectedInterface { }
0N/A class N implements ExtendsAccess.protectedInterface { } // OK (was: should be error, see JLS 6.2.2)
0N/A class N implements ExtendsAccess.privateInterface { } // ERROR - cannot access 'privateInterface'
0N/A class N implements p.ExtendsAccess.defaultInterface { } // ERROR - cannot access 'defaultClass'
0N/A class N implements p.ExtendsAccess.protectedInterface { } // OK (was: should be error, see JLS 6.2.2)
0N/A class N implements p.ExtendsAccess.privateInterface { } // ERROR - cannot access 'privateInterface'