langtools/test/tools/javac/DefiniteAssignment/UncaughtException.java
author mcimadamore
Wed, 26 Oct 2016 15:41:25 +0100
changeset 41856 13a056e8f16e
parent 25308 190cac01c316
permissions -rw-r--r--
8168774: Polymorhic signature method check crashes javac Summary: Check for polysig method assumes arity is greater than zero Reviewed-by: vromero
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
25308
190cac01c316 8044236: create .out files for DefiniteAssignment tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     2
 * @test /nodynamiccopyright/
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * @bug 4053998
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary Compiler used to not notice the uncaught checked exception.
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author turnidge
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 *
25308
190cac01c316 8044236: create .out files for DefiniteAssignment tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     7
 * @compile/fail/ref=UncaughtException.out -XDrawDiagnostics  UncaughtException.java
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
interface I {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    void throwCheckedException ();
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
}
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
class A {
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
    public void throwCheckedException () throws Throwable {
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
        throw new Throwable();
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
}
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
class B extends A implements I {
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
}
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
public class UncaughtException {
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
    public static void main (String[] args) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
        I b = new B();
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
        b.throwCheckedException();
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    28
}