langtools/test/tools/javac/SwitchScope.java
author sogoel
Fri, 12 Sep 2014 17:05:18 -0700
changeset 26662 7cf828d7c8fc
parent 5520 86e4b9a9da40
permissions -rw-r--r--
8055080: Group 9d: golden files for tests in tools/javac dir Reviewed-by: jjg, mcimadamore, jlahoda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
26662
7cf828d7c8fc 8055080: Group 9d: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     2
 * @test /nodynamiccopyright/
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * @bug 4725650
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary Restrict scope of local classes in switch-block-group
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author gafter
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 *
26662
7cf828d7c8fc 8055080: Group 9d: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     7
 * @compile/fail/ref=SwitchScope.out -XDrawDiagnostics SwitchScope.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 SwitchScope {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    public static void main(String[] args) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
        switch (args.length) {
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
        case 0:
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
            final int k;
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
            k = 12;
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
            class Local {
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
                int j = k;
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
            }
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
        case 1:
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
            // the scope of a local class does not extend from one
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
            // switch case to the next.
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
            Object o = new Local();
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
}