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

Side by Side Diff: tests/language/final_syntax_test.dart

Issue 10855174: Lazy implementation of final variables. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix tests. Created 8 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 | Annotate | Revision Log
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 main() { 5 main() {
6 final f0 = 42; 6 final f0 = 42;
7 final f1; /// 01: compile-time error 7 final f1; /// 01: compile-time error
8 final int f2 = 87; 8 final int f2 = 87;
9 final int f3; /// 02: compile-time error 9 final int f3; /// 02: compile-time error
10 Expect.equals(42, f0); 10 Expect.equals(42, f0);
11 Expect.equals(87, f2); 11 Expect.equals(87, f2);
12 12
13 Expect.equals(42, F0); /// 03: compile-time error 13 Expect.equals(42, F0); /// 03: compile-time error
14 Expect.equals(87, F2); /// 04: compile-time error 14 Expect.equals(87, F2); /// 04: compile-time error
15 15
16 Expect.isTrue(P0 is Point); 16 Expect.isTrue(P0 is Point);
17 Expect.isTrue(P1 is int); /// 05: compile-time error 17 Expect.isTrue(P1 is int);
18 Expect.isTrue(P2 is Point); /// 06: compile-time error 18 Expect.isTrue(P2 is Point);
19 Expect.isTrue(P3 is int); /// 07: compile-time error 19 Expect.isTrue(P3 is int);
20 20
21 Expect.isTrue(A0 is int); 21 Expect.isTrue(A0 is int);
22 Expect.isTrue(A1 is int); 22 Expect.isTrue(A1 is int);
23 Expect.isTrue(A2 is int); /// 08: compile-time error 23 Expect.isTrue(A2 is int); /// 08: runtime error
24 Expect.isTrue(A3 is int); /// 08: continued 24 Expect.isTrue(A3 is int); /// 08: continued
25 25
26 Expect.isTrue(C0.X is C1); 26 Expect.isTrue(C0.X is C1);
27 Expect.isTrue(C0.X.x is C1); /// 09: compile-time error 27 Expect.isTrue(C0.X.x is C1); /// 09: compile-time error
28 28
29 Expect.equals("Hello 42", B2); 29 Expect.equals("Hello 42", B2);
30 Expect.equals("42Hello", B3); /// 10: compile-time error 30 Expect.equals("42Hello", B3); /// 10: runtime error
31 } 31 }
32 32
33 final F0 = 42; 33 final F0 = 42;
34 final F1; /// 03: continued 34 final F1; /// 03: continued
35 final int F2 = 87; 35 final int F2 = 87;
36 final int F3; /// 04: continued 36 final int F3; /// 04: continued
37 37
38 class Point { 38 class Point {
39 final x, y; 39 final x, y;
40 const Point(this.x, this.y); 40 const Point(this.x, this.y);
41 operator +(int other) => x; 41 operator +(int other) => x;
42 } 42 }
43 43
44 // Check that compile time expressions can include invocations of 44 // Check that compile time expressions can include invocations of
45 // user-defined const constructors. 45 // user-defined const constructors.
46 final P0 = const Point(0, 0); 46 final P0 = const Point(0, 0);
47 final P1 = const Point(0, 0) + 1; /// 05: continued 47 final P1 = const Point(0, 0) + 1;
48 final P2 = new Point(0, 0); /// 06: continued 48 final P2 = new Point(0, 0);
49 final P3 = new Point(0, 0) + 1; /// 07: continued 49 final P3 = new Point(0, 0) + 1;
50 50
51 // Check that we cannot have cyclic references in compile time 51 // Check that we cannot have cyclic references in compile time
52 // expressions. 52 // expressions.
53 final A0 = 42; 53 final A0 = 42;
54 final A1 = A0 + 1; 54 final A1 = A0 + 1;
55 final A2 = A3 + 1; /// 08: continued 55 final A2 = A3 + 1; /// 08: continued
56 final A3 = A2 + 1; /// 08: continued 56 final A3 = A2 + 1; /// 08: continued
57 57
58 class C0 { 58 class C0 {
59 static final X = const C1(); 59 static final X = const C1();
60 } 60 }
61 61
62 class C1 { 62 class C1 {
63 const C1() 63 const C1()
64 : x = C0.X /// 09: continued 64 : x = C0.X /// 09: continued
65 ; 65 ;
66 final x = null; 66 final x = null;
67 } 67 }
68 68
69 // Check that sub-expressions of binary + are numeric. 69 // Check that sub-expressions of binary + are numeric.
70 final B0 = 42; 70 final B0 = 42;
71 final B1 = "Hello"; 71 final B1 = "Hello";
72 final B2 = "$B1 $B0"; 72 final B2 = "$B1 $B0";
73 final B3 = B0 + B1; /// 10: continued 73 final B3 = B0 + B1; /// 10: continued
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698