blob: d4bc4913406b177e5a2488d57b7f852bf260c1a2 [file] [log] [blame]
// Copyright (c) 2022, 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.
import 'package:expect/expect.dart';
main() {
Expect.equals(test(5), 'a');
Expect.equals(test(10), 'a through b');
Expect.equals(test(7), 'b');
}
String test(int i) {
switch (i) {
a:
case 5:
{
if (i == 10) {
return 'a through b';
}
if (i == 0) {
return 'a';
}
i -= 1;
continue a; // backward jump to non-default self
}
b:
default:
{
if (i == 10) {
continue a; // backward jump to non-default
}
if (i == 0) {
return 'b';
}
i -= 1;
continue b; // backward jump to default
}
}
}