// 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. // @dart=2.9 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(); }