948N/A/*
948N/A * @test /nodynamiccopyright/
948N/A * @bug 7030606
948N/A *
948N/A * @summary Project-coin: multi-catch types should be pairwise disjoint
948N/A * @compile/fail/ref=T7030606.out -XDrawDiagnostics T7030606.java
948N/A */
948N/A
948N/Aclass T7030606 {
948N/A class E1 extends Exception { }
948N/A class E2 extends E1 { }
948N/A
948N/A void e1() throws E1 { }
948N/A void e2() throws E2 { }
948N/A
948N/A void m1() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (NonExistentType | E2 | E1 e) { }
948N/A }
948N/A
948N/A void m2() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (NonExistentType | E1 | E2 e) { }
948N/A }
948N/A
948N/A void m3() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (E2 | NonExistentType | E1 e) { }
948N/A }
948N/A
948N/A void m4() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (E1 | NonExistentType | E2 e) { }
948N/A }
948N/A
948N/A void m5() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (E2 | E1 | NonExistentType e) { }
948N/A }
948N/A
948N/A void m6() {
948N/A try {
948N/A e1();
948N/A e2();
948N/A } catch (E1 | E2 | NonExistentType e) { }
948N/A }
948N/A}