langtools/test/tools/javac/DefiniteAssignment/DASwitch.java
author jlahoda
Thu, 09 Oct 2014 10:08:52 +0200
changeset 26993 513b2cae81c3
parent 25308 190cac01c316
permissions -rw-r--r--
8057652: Request to improve error messages for labeled declarations Summary: Parse labeled statements as block statements to improve error recovery for labeled declarations; related cleanup. Reviewed-by: jjg
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 4695463
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary DA versus switch: javac allows reference to uninitialized variable
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=DASwitch.out -XDrawDiagnostics  DASwitch.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
public class DASwitch {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    public static void main(final String[] args) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
        int t = 1;
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
        {
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
            final int x;
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
            x = 1;
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
        switch(t) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
        case 0:
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
            Integer b;
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
            break;
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
        case 1:
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
            System.out.println(b.toString());
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
}