test/tools/javac/T8059921/ForbidAccessToFieldUsingSuperTest.java

Sat, 22 Dec 2018 13:10:38 -0800

author
diazhou
date
Sat, 22 Dec 2018 13:10:38 -0800
changeset 3788
f1d6d56e430a
parent 2610
f4df97bf5392
permissions
-rw-r--r--

Added tag jdk8u202-b25 for changeset 15d8c732039b

     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  */
     8 public class ForbidAccessToFieldUsingSuperTest {
     9     class C {
    10         int m() { return 0; }
    11     }
    13     interface T {
    14         int f = 0;
    15         C c = null;
    16         default int mm() {
    17             return 0;
    18         }
    19     }
    21     interface T1 extends T {}
    23     class X implements T1 {
    24         int i = T1.super.f;        //fail
    25         int j = T1.super.c.m();    //fail
    27         void foo(Runnable r) {
    28             foo(T1.super::mm);     //should'n fail
    29         }
    30     }
    31 }

mercurial