langtools/test/tools/javac/DefiniteAssignment/T4718142.java
author sogoel
Wed, 02 Jul 2014 12:04:04 -0700
changeset 25308 190cac01c316
parent 5520 86e4b9a9da40
permissions -rw-r--r--
8044236: create .out files for DefiniteAssignment tests in tools/javac dir Reviewed-by: jjg, 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 4718142
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary DU analysis not conservative for try-finally
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author Neal Gafter (gafter)
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=T4718142.out -XDrawDiagnostics  T4718142.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
class T4718142 {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    static class E extends Exception {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
    static void thr() throws E {
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
        throw new E();
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
    public static void main(String[] args) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
        int count = 0;
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
        final int i;
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
        while (true) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
            try {
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
                i = count++;
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
                System.out.println("assigned " + i);
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
                thr();
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
                while (true) {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
            } catch (E e) {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
}