ForbidAccessToFieldUsingSuperTest.java revision 2727:2bfbb068284d
1/*
2 * @test /nodynamiccopyright/
3 * @bug 8059921
4 * @summary Missing compile error in Java 8 mode for Interface.super.field access
5 * @compile/fail/ref=ForbidAccessToFieldUsingSuperTest.out -XDrawDiagnostics ForbidAccessToFieldUsingSuperTest.java
6 */
7
8public class ForbidAccessToFieldUsingSuperTest {
9    class C {
10        int m() { return 0; }
11    }
12
13    interface T {
14        int f = 0;
15        C c = null;
16        default int mm() {
17            return 0;
18        }
19    }
20
21    interface T1 extends T {}
22
23    class X implements T1 {
24        int i = T1.super.f;        //fail
25        int j = T1.super.c.m();    //fail
26
27        void foo(Runnable r) {
28            foo(T1.super::mm);     //should'n fail
29        }
30    }
31}
32