blob: e03084d8c7b724a04f3d16f1359872ed3f3d3ac7 [file] [log] [blame]
// Copyright (c) 2011, 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.
// Test switch statement using labels.
// VMOptions=
// VMOptions=--force-switch-dispatch-type=0
// VMOptions=--force-switch-dispatch-type=1
// VMOptions=--force-switch-dispatch-type=2
import 'package:expect/expect.dart';
void main() {
doSwitch(0, [0, 2]);
doSwitch(1, [1]);
doSwitch(2, [2]);
doSwitch(3, [3, 1]);
}
void doSwitch(int target, List expect) {
List list = [];
switch (target) {
case 0:
list.add(0);
continue case2;
case1:
case 1:
list.add(1);
break;
case2:
case 2:
list.add(2);
break;
case 3:
list.add(3);
continue case1;
}
Expect.listEquals(expect, list);
}