Chromium Code Reviews| Index: tests/language/rewrite_variable_initializer_test.dart |
| diff --git a/tests/language/rewrite_variable_initializer_test.dart b/tests/language/rewrite_variable_initializer_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7909ead2900d6dbe11a8df4651572a07f2f19111 |
| --- /dev/null |
| +++ b/tests/language/rewrite_variable_initializer_test.dart |
| @@ -0,0 +1,40 @@ |
| +// Copyright (c) 2014, 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. |
| + |
| +import "package:expect/expect.dart"; |
| + |
| +class Foo { |
| + var field = 0; |
| +} |
| + |
| +bar(x,y) { |
| + return x * 100 + y; |
| +} |
| + |
| +foo(z) { |
| + var x = 0, y = x; |
| + if (z > 0) { |
| + x = 10; |
| + } |
| + if (z > 10) { |
| + y = 20; |
| + } |
| + return bar(x,y); |
|
asgerf
2014/06/03 14:37:17
Without register allocation, this reference to 'y'
sigurdm
2014/06/04 07:51:57
This could maybe be a comment in the code for late
|
| +} |
| + |
| +baz(z) { |
| + var f = new Foo() |
| + ..field = 10 |
| + ..field = z; |
| + return f; |
| +} |
| + |
| +main() { |
| + Expect.equals(0, foo(0)); |
| + Expect.equals(1000, foo(5)); |
| + Expect.equals(1020, foo(15)); |
| + |
| + Expect.equals(20, baz(20).field); |
| + Expect.equals(30, baz(30).field); |
| +} |