/*
* @test /nodynamiccopyright/
* @bug 4319507 4785453
* @summary Verify correct implementation of JLS2e 6.6.2.1
* @author maddox
*
* @compile/fail/ref=ProtectedMemberAccess2.out -XDdiags=-simpleNames -XDdiagsFormat=%b:%l:%_%m ProtectedMemberAccess2.java
*/
// 71 errors expected.
import pkg.SuperClass;
class ProtectedMemberAccess2 {
// Since this class is not a subclass of the class in which the
// protected members are declared, all of the accesses are illegal.
int i = x.pi; // illegal
int j = x.spi; // illegal
int w = x.pm(); // illegal
int y = x.spm(); // illegal
static {
//class C1 extends pkg.SuperClass.pC {}
//interface I1 extends pkg.SuperClass.pI {}
//interface I2 extends pkg.SuperClass.spI {}
}
void m() {
int t = x.pm(); // illegal
int y = x.spm(); // illegal
int i = x.pi; // illegal
int j = x.spi; // illegal
//interface I1 extends pkg.SuperClass.pI {}
//interface I2 extends pkg.SuperClass.spI {}
}
}