| // 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. |
| |
| /// @assertion If a declaration d named n is in the namespace induced by a |
| /// scope S, then d hides any declaration named n that is available in the |
| /// lexically enclosing scope of S. |
| /// @description Checks that no static warning is produced if a local variable |
| /// declared inside an if statement shadows another local variable declared in an |
| /// enclosing lexical scope. |
| /// @author iefremov |
| |
| import "../../../Utils/expect.dart"; |
| |
| var flag = false; |
| once() { |
| if (flag) { |
| return flag; |
| } |
| flag = true; |
| return false; |
| } |
| |
| main() { |
| var x = 1; |
| if (once()) var x = 42; |
| Expect.equals(1, x); |
| } |