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 */ 8 9class T7030606 { 10 class E1 extends Exception { } 11 class E2 extends E1 { } 12 13 void e1() throws E1 { } 14 void e2() throws E2 { } 15 16 void m1() { 17 try { 18 e1(); 19 e2(); 20 } catch (NonExistentType | E2 | E1 e) { } 21 } 22 23 void m2() { 24 try { 25 e1(); 26 e2(); 27 } catch (NonExistentType | E1 | E2 e) { } 28 } 29 30 void m3() { 31 try { 32 e1(); 33 e2(); 34 } catch (E2 | NonExistentType | E1 e) { } 35 } 36 37 void m4() { 38 try { 39 e1(); 40 e2(); 41 } catch (E1 | NonExistentType | E2 e) { } 42 } 43 44 void m5() { 45 try { 46 e1(); 47 e2(); 48 } catch (E2 | E1 | NonExistentType e) { } 49 } 50 51 void m6() { 52 try { 53 e1(); 54 e2(); 55 } catch (E1 | E2 | NonExistentType e) { } 56 } 57} 58