Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Unified Diff: tests/kernel/unsorted/try_finally_test.dart

Issue 2487183002: VM: [Kernel] Ensure we have the correct try-index when translating finally blocks (Closed)
Patch Set: Rebased & remove print in test Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/kernel_to_il.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/kernel/unsorted/try_finally_test.dart
diff --git a/tests/kernel/unsorted/try_finally_test.dart b/tests/kernel/unsorted/try_finally_test.dart
index db3069b0f0467c59dbd5f0305dbd56f5702f5039..87bb968248bec9ff624584ed614bc14dd355b08f 100644
--- a/tests/kernel/unsorted/try_finally_test.dart
+++ b/tests/kernel/unsorted/try_finally_test.dart
@@ -144,6 +144,34 @@ testStopContinueInsideSwitch2() {
}
}
+testNestedFinally() {
+ var events = '';
+ try {
+ try {
+ events = '$events|start';
+ } finally {
+ events = '$events|start-catch';
+ }
+ try {
+ try {
+ return;
+ } finally {
+ events = '$events|inner';
+ throw 0;
+ }
+ } finally {
+ events = '$events|middle';
+ }
+ } catch (e) {
+ events = '$events|outer-catch';
+ } finally {
+ events = '$events|outer-finally';
+ }
+ Expect.equals(
+ events,
+ '|start|start-catch|inner|middle|outer-catch|outer-finally');
+}
+
main() {
Expect.isTrue(testSimpleBreak() == 3);
Expect.isTrue(testReturnFinally() == 42);
@@ -155,4 +183,5 @@ main() {
Expect.isTrue(testStopContinueInsideLoop() == 42);
Expect.isTrue(testStopContinueInsideSwitch() == 42);
Expect.isTrue(testStopContinueInsideSwitch2() == 42);
+ testNestedFinally();
}
« no previous file with comments | « runtime/vm/kernel_to_il.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698