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

Unified Diff: pkg/front_end/testcases/implicit_scope_test.dart

Issue 2829223007: Introduce initial plumbing for type promotion in fasta. (Closed)
Patch Set: Add missing copyrights Created 3 years, 8 months 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
Index: pkg/front_end/testcases/implicit_scope_test.dart
diff --git a/pkg/front_end/testcases/implicit_scope_test.dart b/pkg/front_end/testcases/implicit_scope_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..49d0dd95c03d8b6deb92b82eb21fdd0160ccf4ec
--- /dev/null
+++ b/pkg/front_end/testcases/implicit_scope_test.dart
@@ -0,0 +1,40 @@
+// 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 that if, while etc create an implicit scope if the body
+// is not a compound statement.
+
+import "package:expect/expect.dart";
+
+class ImplicitScopeTest {
+ static bool alwaysTrue() {
+ return 1 + 1 == 2;
+ }
+
+ static testMain() {
+ var a = "foo";
+ var b;
+ if (alwaysTrue())
+ var a = "bar";
+ else
+ var b = a;
+ Expect.equals("foo", a);
+ Expect.equals(null, b);
+
+ while (!alwaysTrue()) var a = "bar", b = "baz";
+ Expect.equals("foo", a);
+ Expect.equals(null, b);
+
+ for (int i = 0; i < 10; i++) var a = "bar", b = "baz";
+ Expect.equals("foo", a);
+ Expect.equals(null, b);
+
+ do var a = "bar", b = "baz"; while ("black" == "white");
+ Expect.equals("foo", a);
+ Expect.equals(null, b);
+ }
+}
+
+main() {
+ ImplicitScopeTest.testMain();
+}

Powered by Google App Engine
This is Rietveld 408576698