| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // @dart = 2.7 |
| |
| void simpleSwitch(e) { |
| /*0@break*/ switch (e) { |
| case 0: |
| /*target=0*/ break; |
| } |
| } |
| |
| void labelledSwitch(e) { |
| target: |
| /*0@break*/ |
| switch (e) { |
| case 0: |
| /*target=0*/ break target; |
| } |
| } |
| |
| void switchNestedInLoop(l) { |
| for (var e in l) { |
| target: |
| /*0@break*/ |
| switch (e) { |
| case 0: |
| /*target=0*/ break target; |
| } |
| } |
| } |
| |
| void labelledSwitchNestedInLoop(l) { |
| target: |
| /*0@break*/ |
| for (var e in l) { |
| /*1@break*/ switch (e) { |
| case 0: |
| /*target=0*/ break target; |
| case 1: |
| /*target=1*/ break; |
| } |
| } |
| } |
| |
| void switchWithContinue(e) { |
| /*0@break*/ switch (e) { |
| target: |
| case /*1@continue*/ 0: |
| /*target=0*/ break; |
| case 1: |
| /*target=1*/ continue target; |
| } |
| } |
| |
| void main() { |
| simpleSwitch(0); |
| labelledSwitch(0); |
| switchNestedInLoop([]); |
| labelledSwitchNestedInLoop([]); |
| switchWithContinue(0); |
| } |