Files
sdk/tests/language/enum/initialization_near_stack_overflow_test.dart
Robert Nystrom 3166d7188f Format tests/language/e*.
Since I regenerated the test expectations, this also fills in a few
unspecified errors with more precise information.

Change-Id: I4a2450de030a7d38b08f30f46d9d9feca99404f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/407082
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2025-02-03 03:29:35 -08:00

31 lines
778 B
Dart

// Copyright (c) 2018, 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.
// https://github.com/flutter/flutter/issues/25041
// This test may produce a compile time exception from stack overflow during
// enum initialization or succeed in enum initialization depending on exactly
// how much stack is left and used by the compiler. It should never crash nor
// produce a runtime exception.
enum Fruit { apple, banana }
getFruit() => Fruit.apple;
recurse() {
try {
recurse();
} catch (e, st) {
print("$e ${getFruit()}");
}
}
main() {
try {
recurse();
} on StackOverflowError catch (e) {
// Swallow.
}
}