OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 compile-time errors for illegal variable declarations if the name | 5 // Test compile-time errors for illegal variable declarations if the name |
6 // has been referenced before the variable is declared. | 6 // has been referenced before the variable is declared. |
7 | 7 |
8 import 'dart:math' as math; | 8 import 'dart:math' as math; |
9 | 9 |
10 use(value) => value; | 10 use(value) => value; |
(...skipping 23 matching lines...) Expand all Loading... |
34 | 34 |
35 void test3() { | 35 void test3() { |
36 if (true) { | 36 if (true) { |
37 use(x); // Refers to top-level x. | 37 use(x); // Refers to top-level x. |
38 use(y); // Refers to top-level y. | 38 use(y); // Refers to top-level y. |
39 } | 39 } |
40 final x = "I have not yet begun to procrastinate."; /// 02: compile-time er
ror | 40 final x = "I have not yet begun to procrastinate."; /// 02: compile-time er
ror |
41 const y = "Honk if you like peace and quiet!"; /// 03: compile-time error | 41 const y = "Honk if you like peace and quiet!"; /// 03: compile-time error |
42 } | 42 } |
43 | 43 |
| 44 void test4() { |
| 45 void Q() { |
| 46 P(); // Refers to non-existing top-level function P |
| 47 } |
| 48 void P() { /// 06: compile-time error |
| 49 Q(); /// 06: continued |
| 50 } /// 06: continued |
| 51 |
| 52 Function f = () {x = f;}; /// 07: compile-time error |
| 53 } |
| 54 |
44 test() { | 55 test() { |
45 test1(); | 56 test1(); |
46 test2(); | 57 test2(); |
47 test3(); | 58 test3(); |
| 59 test4(); |
48 } | 60 } |
49 } | 61 } |
50 | 62 |
51 void testTypeRef() { | 63 void testTypeRef() { |
52 String s = 'Can vegetarians eat animal crackers?'; | 64 String s = 'Can vegetarians eat animal crackers?'; |
53 var String = "I distinctly remember forgetting that."; /// 04: compile-time e
rror | 65 var String = "I distinctly remember forgetting that."; /// 04: compile-time e
rror |
54 } | 66 } |
55 | 67 |
56 void testLibPrefix() { | 68 void testLibPrefix() { |
57 var pie = math.PI; | 69 var pie = math.PI; |
(...skipping 14 matching lines...) Expand all Loading... |
72 var int = 007; | 84 var int = 007; |
73 } | 85 } |
74 | 86 |
75 void main() { | 87 void main() { |
76 var c = new C(); | 88 var c = new C(); |
77 c.test(); | 89 c.test(); |
78 testTypeRef(); | 90 testTypeRef(); |
79 testLibPrefix(); | 91 testLibPrefix(); |
80 noErrorsExpected(); | 92 noErrorsExpected(); |
81 } | 93 } |
OLD | NEW |