don't allow a local class in a switch to capture a variable form the switch

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Duplicate
    • Priority: P3
    • None
    • Affects Version/s: 1.4.0
    • Component/s: tools
    • generic
    • solaris_8

      javac fails the jacks test 16.2.3-switch-1. The offending code is something
      like

              void f(int n) {
                  switch (n) {
                    case 12:
                      final int x;
                      x = 1;
                      class Local {
                          int y = x;
                      }
                      break;
                    case 13:
                      int z = new Local().y; // verify error in generated code
                  }
              }

      The problem is that the JLS allows this code, but the variable x hasn't
      been assigned at the point where it is captured.

            Assignee:
            Neal Gafter (Inactive)
            Reporter:
            Neal Gafter (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: