test/tools/javac/multicatch/Neg05.java

Fri, 10 Dec 2010 15:24:17 +0000

author
mcimadamore
date
Fri, 10 Dec 2010 15:24:17 +0000
changeset 787
b1c98bfd4709
parent 735
f2048d9c666e
permissions
-rw-r--r--

6199075: Unambiguous varargs method calls flagged as ambiguous
Summary: javac does not implement overload resolution w.r.t. varargs methods as described in the JLS
Reviewed-by: jjg

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 6943289
     4  *
     5  * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch')
     6  * @author mcimadamore
     7  * @compile/fail/ref=Neg05.out -XDrawDiagnostics Neg05.java
     8  *
     9  */
    11 class Neg02 {
    13     static class Foo<X> {
    14        Foo(X x) {}
    15     }
    17     static interface Base<X> {}
    18     static class A extends Exception implements Base<String> {}
    19     static class B extends Exception implements Base<Integer> {}
    21     void m() {
    22         try {
    23             if (true) {
    24                 throw new A();
    25             }
    26             else {
    27                 throw new B();
    28             }
    29         } catch (A | B ex) {
    30             Foo<?> f = new Foo<>(ex);
    31         }
    32     }
    33 }

mercurial