Mercurial > hg > release > icedtea7-forest-2.0 > langtools
view test/tools/javac/multicatch/Neg07.java @ 1014:a8f5cad1e6bb
7039822: Project Coin: add explicit tests for the lub of an exception parameter
Reviewed-by: mcimadamore, jjg
author | darcy |
---|---|
date | Wed, 27 Apr 2011 17:03:24 -0700 |
parents | |
children |
line wrap: on
line source
/* * @test /nodynamiccopyright/ * @bug 7039822 * @summary Verify typing of lub of exception parameter w.r.t getClass * @author Joseph D. Darcy * @compile/fail/ref=Neg07.out -XDrawDiagnostics Neg07.java */ public class Neg07 { private static void test(int i) { try { thrower(i); } catch (SonException | DaughterException e) { Class<? extends HasFoo> clazz2 = e.getClass(); // Rejected! HasFoo m = e; e.foo(); } } private static interface HasFoo { void foo(); } static void thrower(int i) throws SonException, DaughterException { if (i == 0) throw new SonException(); else throw new DaughterException(); } private static class ParentException extends RuntimeException {} private static class SonException extends ParentException implements HasFoo { public void foo() { System.out.println("SonException.foo"); } } private static class DaughterException extends ParentException implements HasFoo { public void foo() { System.out.println("DaughterException.foo"); } } }