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

Side by Side Diff: tests/language_strong/closure_in_initializer_test.dart

Issue 2997723002: Revert "Migrating a block of dart 2:" (Closed)
Patch Set: Created 3 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test that a parameter used in two different closures defined in a 5 // Test that a parameter used in two different closures defined in a
6 // constructor initializer, is properly boxed. 6 // constructor initializer, is properly boxed.
7 7
8 import "package:expect/expect.dart"; 8 import "package:expect/expect.dart";
9 9
10 class A { 10 class A {
11 var f; 11 var f;
12 var g; 12 var g;
13 A(a) 13 A(a)
14 : f = (() => 42 + a), 14 : f = (() => 42 + a),
15 g = (() => ++a) { 15 g = (() => ++a) {
16 a = 4; 16 a = 4;
17 } 17 }
18 } 18 }
19 19
20 class B extends A { 20 class B extends A {
21 B() : super(42);
22 }
23
24 class C extends A {
21 var h; 25 var h;
22 C(a) 26 C(a)
23 : h = (() => ++a), 27 : super(42),
24 super(42); 28 h = (() => ++a);
25 } 29 }
26 30
27 main() { 31 main() {
28 var a = new A(1); 32 var a = new A(1);
29 a = new B(0); 33 Expect.equals(46, a.f());
30 var ah = /*@compile-error=unspecified*/ a.h(); 34 Expect.equals(5, a.g());
35 Expect.equals(47, a.f());
36
37 a = new B();
38 Expect.equals(46, a.f());
39 Expect.equals(5, a.g());
40 Expect.equals(47, a.f());
41
42 a = new C(0);
43 Expect.equals(46, a.f());
44 Expect.equals(5, a.g());
45 Expect.equals(47, a.f());
46 Expect.equals(1, a.h());
47 Expect.equals(2, a.h());
48 Expect.equals(47, a.f());
49 Expect.equals(6, a.g());
50 Expect.equals(48, a.f());
31 } 51 }
OLDNEW
« no previous file with comments | « tests/language_strong/closure_in_initializer2_test.dart ('k') | tests/language_strong/closure_internals_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698