| // Copyright (c) 2012, 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. |
| |
| // @dart = 2.9 |
| |
| import "package:expect/expect.dart"; |
| |
| main() { |
| testOne(); |
| testTwo(); |
| } |
| |
| testOne() { |
| // Dart2JS uses t[0-9]* to declare temporaries, so a local variable |
| // with that pattern can conflict with them. |
| var t0 = new List(); |
| // By using 'is' check, we make sure 't0.length' does not become |
| // generate at use site. |
| Expect.isTrue(t0.length is int); |
| Expect.isTrue(t0 is List); |
| } |
| |
| testTwo() { |
| var x = new List(); |
| var x_0 = new List(); |
| { |
| // This used to introduce x_0. |
| var x = new Set(); |
| Expect.equals(0, x.length); |
| Expect.isTrue(x.isEmpty); |
| } |
| Expect.isTrue(x is List); |
| Expect.isTrue(x_0 is List); |
| } |