test/tools/javac/defaultMethods/Neg02.java

Thu, 06 Jun 2013 15:33:40 +0100

author
mcimadamore
date
Thu, 06 Jun 2013 15:33:40 +0100
changeset 1811
349160289ba2
parent 1415
01c9d4161882
child 2020
bb7271e64ef6
permissions
-rw-r--r--

8008627: Compiler mishandles three-way return-type-substitutability
Summary: Compiler should not enforce an order in how ambiguous methods should be resolved
Reviewed-by: jjg, vromero

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @summary check that ill-formed MI hierarchies do not compile
     4  * @compile/fail/ref=Neg02.out -XDrawDiagnostics Neg02.java
     5  */
     7 class Neg02 {
     8      interface A {
     9          default void m() { Neg02.impl(this); }
    10      }
    12      interface B {
    13          default void m() { Neg02.impl(this); }
    14      }
    16      static class X implements A, B { } //error
    18      void test(X x) {
    19          x.m();
    20          ((A)x).m();
    21          ((B)x).m();
    22      }
    24      static void impl(A a) { }
    25      static void impl(B b) { }
    26 }

mercurial