test/tools/javac/multicatch/7030606/T7030606.java

Mon, 02 Sep 2013 22:38:36 +0100

author
vromero
date
Mon, 02 Sep 2013 22:38:36 +0100
changeset 2000
4a6acc42c3a1
parent 0
959103a6100f
permissions
-rw-r--r--

8016177: structural most specific and stuckness
Reviewed-by: jjg, vromero
Contributed-by: maurizio.cimadamore@oracle.com

     1 /*
     2  * @test /nodynamiccopyright/
     3  * @bug 7030606
     4  *
     5  * @summary Project-coin: multi-catch types should be pairwise disjoint
     6  * @compile/fail/ref=T7030606.out -XDrawDiagnostics T7030606.java
     7  */
     9 class T7030606 {
    10     class E1 extends Exception { }
    11     class E2 extends E1 { }
    13     void e1() throws E1 { }
    14     void e2() throws E2 { }
    16     void m1() {
    17         try {
    18             e1();
    19             e2();
    20         } catch (NonExistentType | E2 | E1 e) { }
    21     }
    23     void m2() {
    24         try {
    25             e1();
    26             e2();
    27         } catch (NonExistentType | E1 | E2 e) { }
    28     }
    30     void m3() {
    31         try {
    32             e1();
    33             e2();
    34         } catch (E2 | NonExistentType | E1 e) { }
    35     }
    37     void m4() {
    38         try {
    39             e1();
    40             e2();
    41         } catch (E1 | NonExistentType | E2 e) { }
    42     }
    44     void m5() {
    45         try {
    46             e1();
    47             e2();
    48         } catch (E2 | E1 | NonExistentType e) { }
    49     }
    51     void m6() {
    52         try {
    53             e1();
    54             e2();
    55         } catch (E1 | E2 | NonExistentType  e) { }
    56     }
    57 }

mercurial