Mon, 17 Oct 2011 12:54:33 +0100
7097436: Project Coin: duplicate varargs warnings on method annotated with @SafeVarargs
Summary: Duplicate aliasing check during subtyping leads to spurious varargs diagnostic
Reviewed-by: jjg
mcimadamore@550 | 1 | /* |
mcimadamore@550 | 2 | * @test /nodynamiccopyright/ |
mcimadamore@550 | 3 | * @bug 6943289 |
mcimadamore@550 | 4 | * |
mcimadamore@550 | 5 | * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch') |
mcimadamore@550 | 6 | * @author mcimadamore |
mcimadamore@550 | 7 | * @compile/fail/ref=Neg02.out -XDrawDiagnostics Neg02.java |
mcimadamore@550 | 8 | * |
mcimadamore@550 | 9 | */ |
mcimadamore@550 | 10 | |
mcimadamore@550 | 11 | class Neg02 { |
mcimadamore@550 | 12 | static class A extends Exception {} |
mcimadamore@550 | 13 | static class B extends Exception {} |
mcimadamore@550 | 14 | |
mcimadamore@550 | 15 | void m() { |
mcimadamore@550 | 16 | try { |
mcimadamore@550 | 17 | if (true) { |
mcimadamore@550 | 18 | throw new A(); |
mcimadamore@550 | 19 | } |
mcimadamore@550 | 20 | else { |
mcimadamore@550 | 21 | throw new B(); |
mcimadamore@550 | 22 | } |
mcimadamore@735 | 23 | } catch (final A | B ex) { |
mcimadamore@735 | 24 | ex = new B(); |
mcimadamore@735 | 25 | } |
mcimadamore@550 | 26 | } |
mcimadamore@550 | 27 | } |