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

Side by Side Diff: tests/compiler/dart2js/semantic_visitor_test_decl_data.dart

Issue 2990223002: Reformat untouched files. (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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 part of dart2js.semantics_visitor_test; 5 part of dart2js.semantics_visitor_test;
6 6
7 const Map<String, List<Test>> DECL_TESTS = const { 7 const Map<String, List<Test>> DECL_TESTS = const {
8 'Function declarations': const [ 8 'Function declarations': const [
9 const Test( 9 const Test('''
10 '''
11 m(a, b) {} 10 m(a, b) {}
12 ''', 11 ''', const [
13 const [ 12 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
14 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 13 element: 'function(m)', parameters: '(a,b)', body: '{}'),
15 element: 'function(m)', parameters: '(a,b)', body: '{}'), 14 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
16 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 15 element: 'parameter(m#a)', index: 0),
17 element: 'parameter(m#a)', index: 0), 16 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
18 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 17 element: 'parameter(m#b)', index: 1),
19 element: 'parameter(m#b)', index: 1), 18 ]),
20 ]), 19 const Test('''
21 const Test(
22 '''
23 m(a, [b]) {} 20 m(a, [b]) {}
24 ''', 21 ''', const [
25 const [ 22 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
26 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 23 element: 'function(m)', parameters: '(a,[b])', body: '{}'),
27 element: 'function(m)', parameters: '(a,[b])', body: '{}'), 24 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
28 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 25 element: 'parameter(m#a)', index: 0),
29 element: 'parameter(m#a)', index: 0), 26 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL,
30 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL, 27 element: 'parameter(m#b)', index: 1, constant: 'null'),
31 element: 'parameter(m#b)', index: 1, constant: 'null'), 28 ]),
32 ]), 29 const Test('''
33 const Test(
34 '''
35 m(a, [b = null]) {} 30 m(a, [b = null]) {}
36 ''', 31 ''', const [
37 const [ 32 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
38 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 33 element: 'function(m)', parameters: '(a,[b=null])', body: '{}'),
39 element: 'function(m)', parameters: '(a,[b=null])', body: '{}'), 34 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
40 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 35 element: 'parameter(m#a)', index: 0),
41 element: 'parameter(m#a)', index: 0), 36 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL,
42 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL, 37 element: 'parameter(m#b)', constant: 'null', index: 1),
43 element: 'parameter(m#b)', constant: 'null', index: 1), 38 ]),
44 ]), 39 const Test('''
45 const Test(
46 '''
47 m(a, [b = 42]) {} 40 m(a, [b = 42]) {}
48 ''', 41 ''', const [
49 const [ 42 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
50 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 43 element: 'function(m)', parameters: '(a,[b=42])', body: '{}'),
51 element: 'function(m)', parameters: '(a,[b=42])', body: '{}'), 44 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
52 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 45 element: 'parameter(m#a)', index: 0),
53 element: 'parameter(m#a)', index: 0), 46 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL,
54 const Visit(VisitKind.VISIT_OPTIONAL_PARAMETER_DECL, 47 element: 'parameter(m#b)', constant: 42, index: 1),
55 element: 'parameter(m#b)', constant: 42, index: 1), 48 ]),
56 ]), 49 const Test('''
57 const Test(
58 '''
59 m(a, {b}) {} 50 m(a, {b}) {}
60 ''', 51 ''', const [
61 const [ 52 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
62 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 53 element: 'function(m)', parameters: '(a,{b})', body: '{}'),
63 element: 'function(m)', parameters: '(a,{b})', body: '{}'), 54 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
64 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 55 element: 'parameter(m#a)', index: 0),
65 element: 'parameter(m#a)', index: 0), 56 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL,
66 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL, 57 element: 'parameter(m#b)', constant: 'null'),
67 element: 'parameter(m#b)', constant: 'null'), 58 ]),
68 ]), 59 const Test('''
69 const Test(
70 '''
71 m(a, {b: null}) {} 60 m(a, {b: null}) {}
72 ''', 61 ''', const [
73 const [ 62 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
74 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 63 element: 'function(m)', parameters: '(a,{b: null})', body: '{}'),
75 element: 'function(m)', parameters: '(a,{b: null})', body: '{}'), 64 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
76 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 65 element: 'parameter(m#a)', index: 0),
77 element: 'parameter(m#a)', index: 0), 66 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL,
78 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL, 67 element: 'parameter(m#b)', constant: 'null'),
79 element: 'parameter(m#b)', constant: 'null'), 68 ]),
80 ]), 69 const Test('''
81 const Test(
82 '''
83 m(a, {b:42}) {} 70 m(a, {b:42}) {}
84 ''', 71 ''', const [
85 const [ 72 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
86 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 73 element: 'function(m)', parameters: '(a,{b: 42})', body: '{}'),
87 element: 'function(m)', parameters: '(a,{b: 42})', body: '{}'), 74 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
88 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 75 element: 'parameter(m#a)', index: 0),
89 element: 'parameter(m#a)', index: 0), 76 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL,
90 const Visit(VisitKind.VISIT_NAMED_PARAMETER_DECL, 77 element: 'parameter(m#b)', constant: 42),
91 element: 'parameter(m#b)', constant: 42), 78 ]),
92 ]), 79 const Test('''
93 const Test(
94 '''
95 get m => null; 80 get m => null;
96 ''', 81 ''', const [
97 const [ 82 const Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL,
98 const Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL, 83 element: 'getter(m)', body: '=>null;'),
99 element: 'getter(m)', body: '=>null;'), 84 ]),
100 ]), 85 const Test('''
101 const Test(
102 '''
103 set m(a) {} 86 set m(a) {}
104 ''', 87 ''', const [
105 const [ 88 const Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL,
106 const Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL, 89 element: 'setter(m)', parameters: '(a)', body: '{}'),
107 element: 'setter(m)', parameters: '(a)', body: '{}'), 90 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
108 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 91 element: 'parameter(m#a)', index: 0),
109 element: 'parameter(m#a)', index: 0), 92 ]),
110 ]), 93 const Test.clazz('''
111 const Test.clazz(
112 '''
113 class C { 94 class C {
114 static m(a, b) {} 95 static m(a, b) {}
115 } 96 }
116 ''', 97 ''', const [
117 const [ 98 const Visit(VisitKind.VISIT_STATIC_FUNCTION_DECL,
118 const Visit(VisitKind.VISIT_STATIC_FUNCTION_DECL, 99 element: 'function(C#m)', parameters: '(a,b)', body: '{}'),
119 element: 'function(C#m)', parameters: '(a,b)', body: '{}'), 100 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
120 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 101 element: 'parameter(m#a)', index: 0),
121 element: 'parameter(m#a)', index: 0), 102 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
122 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 103 element: 'parameter(m#b)', index: 1),
123 element: 'parameter(m#b)', index: 1), 104 ]),
124 ]), 105 const Test.clazz('''
125 const Test.clazz(
126 '''
127 class C { 106 class C {
128 static get m => null; 107 static get m => null;
129 } 108 }
130 ''', 109 ''', const [
131 const [ 110 const Visit(VisitKind.VISIT_STATIC_GETTER_DECL,
132 const Visit(VisitKind.VISIT_STATIC_GETTER_DECL, 111 element: 'getter(C#m)', body: '=>null;'),
133 element: 'getter(C#m)', body: '=>null;'), 112 ]),
134 ]), 113 const Test.clazz('''
135 const Test.clazz(
136 '''
137 class C { 114 class C {
138 static set m(a) {} 115 static set m(a) {}
139 } 116 }
140 ''', 117 ''', const [
141 const [ 118 const Visit(VisitKind.VISIT_STATIC_SETTER_DECL,
142 const Visit(VisitKind.VISIT_STATIC_SETTER_DECL, 119 element: 'setter(C#m)', parameters: '(a)', body: '{}'),
143 element: 'setter(C#m)', parameters: '(a)', body: '{}'), 120 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
144 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 121 element: 'parameter(m#a)', index: 0),
145 element: 'parameter(m#a)', index: 0), 122 ]),
146 ]), 123 const Test.clazz('''
147 const Test.clazz(
148 '''
149 class C { 124 class C {
150 m(a, b) {} 125 m(a, b) {}
151 } 126 }
152 ''', 127 ''', const [
153 const [ 128 const Visit(VisitKind.VISIT_INSTANCE_METHOD_DECL,
154 const Visit(VisitKind.VISIT_INSTANCE_METHOD_DECL, 129 element: 'function(C#m)', parameters: '(a,b)', body: '{}'),
155 element: 'function(C#m)', parameters: '(a,b)', body: '{}'), 130 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
156 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 131 element: 'parameter(m#a)', index: 0),
157 element: 'parameter(m#a)', index: 0), 132 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
158 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 133 element: 'parameter(m#b)', index: 1),
159 element: 'parameter(m#b)', index: 1), 134 ]),
160 ]), 135 const Test.clazz('''
161 const Test.clazz(
162 '''
163 class C { 136 class C {
164 get m => null; 137 get m => null;
165 } 138 }
166 ''', 139 ''', const [
167 const [ 140 const Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL,
168 const Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL, 141 element: 'getter(C#m)', body: '=>null;'),
169 element: 'getter(C#m)', body: '=>null;'), 142 ]),
170 ]), 143 const Test.clazz('''
171 const Test.clazz(
172 '''
173 class C { 144 class C {
174 set m(a) {} 145 set m(a) {}
175 } 146 }
176 ''', 147 ''', const [
177 const [ 148 const Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL,
178 const Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL, 149 element: 'setter(C#m)', parameters: '(a)', body: '{}'),
179 element: 'setter(C#m)', parameters: '(a)', body: '{}'), 150 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
180 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 151 element: 'parameter(m#a)', index: 0),
181 element: 'parameter(m#a)', index: 0), 152 ]),
182 ]), 153 const Test.clazz('''
183 const Test.clazz(
184 '''
185 abstract class C { 154 abstract class C {
186 m(a, b); 155 m(a, b);
187 } 156 }
188 ''', 157 ''', const [
189 const [ 158 const Visit(VisitKind.VISIT_ABSTRACT_METHOD_DECL,
190 const Visit(VisitKind.VISIT_ABSTRACT_METHOD_DECL, 159 element: 'function(C#m)', parameters: '(a,b)'),
191 element: 'function(C#m)', parameters: '(a,b)'), 160 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
192 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 161 element: 'parameter(m#a)', index: 0),
193 element: 'parameter(m#a)', index: 0), 162 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
194 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 163 element: 'parameter(m#b)', index: 1),
195 element: 'parameter(m#b)', index: 1), 164 ]),
196 ]), 165 const Test.clazz('''
197 const Test.clazz(
198 '''
199 abstract class C { 166 abstract class C {
200 get m; 167 get m;
201 } 168 }
202 ''', 169 ''', const [
203 const [ 170 const Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL, element: 'getter(C#m)'),
204 const Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL, 171 ]),
205 element: 'getter(C#m)'), 172 const Test.clazz('''
206 ]),
207 const Test.clazz(
208 '''
209 abstract class C { 173 abstract class C {
210 set m(a); 174 set m(a);
211 } 175 }
212 ''', 176 ''', const [
213 const [ 177 const Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL,
214 const Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL, 178 element: 'setter(C#m)', parameters: '(a)'),
215 element: 'setter(C#m)', parameters: '(a)'), 179 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
216 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 180 element: 'parameter(m#a)', index: 0),
217 element: 'parameter(m#a)', index: 0), 181 ]),
218 ]), 182 const Test('''
219 const Test(
220 '''
221 m(a, b) {} 183 m(a, b) {}
222 ''', 184 ''', const [
223 const [ 185 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
224 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 186 element: 'function(m)', parameters: '(a,b)', body: '{}'),
225 element: 'function(m)', parameters: '(a,b)', body: '{}'), 187 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
226 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 188 element: 'parameter(m#a)', index: 0),
227 element: 'parameter(m#a)', index: 0), 189 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
228 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 190 element: 'parameter(m#b)', index: 1),
229 element: 'parameter(m#b)', index: 1), 191 ]),
230 ]), 192 const Test('''
231 const Test(
232 '''
233 m() { 193 m() {
234 local(a, b) {} 194 local(a, b) {}
235 } 195 }
236 ''', 196 ''', const [
237 const [ 197 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
238 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 198 element: 'function(m)', parameters: '()', body: '{local(a,b){}}'),
239 element: 'function(m)', parameters: '()', body: '{local(a,b){}}'), 199 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_DECL,
240 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_DECL, 200 element: 'function(m#local)', parameters: '(a,b)', body: '{}'),
241 element: 'function(m#local)', parameters: '(a,b)', body: '{}'), 201 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
242 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 202 element: 'parameter(local#a)', index: 0),
243 element: 'parameter(local#a)', index: 0), 203 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
244 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 204 element: 'parameter(local#b)', index: 1),
245 element: 'parameter(local#b)', index: 1), 205 ]),
246 ]), 206 const Test('''
247 const Test(
248 '''
249 m() => (a, b) {}; 207 m() => (a, b) {};
250 ''', 208 ''', const [
251 const [ 209 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
252 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 210 element: 'function(m)', parameters: '()', body: '=>(a,b){};'),
253 element: 'function(m)', parameters: '()', body: '=>(a,b){};'), 211 const Visit(VisitKind.VISIT_CLOSURE_DECL,
254 const Visit(VisitKind.VISIT_CLOSURE_DECL, 212 element: 'function(m#)', parameters: '(a,b)', body: '{}'),
255 element: 'function(m#)', parameters: '(a,b)', body: '{}'), 213 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
256 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 214 element: 'parameter(#a)', index: 0),
257 element: 'parameter(#a)', index: 0), 215 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
258 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 216 element: 'parameter(#b)', index: 1),
259 element: 'parameter(#b)', index: 1), 217 ]),
260 ]),
261 ], 218 ],
262 'Constructor declarations': const [ 219 'Constructor declarations': const [
263 const Test.clazz( 220 const Test.clazz('''
264 '''
265 class C { 221 class C {
266 C(a, b); 222 C(a, b);
267 } 223 }
268 ''', 224 ''', const [
269 const [ 225 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
270 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 226 element: 'generative_constructor(C#)',
271 element: 'generative_constructor(C#)', 227 parameters: '(a,b)',
272 parameters: '(a,b)', 228 body: ';'),
273 body: ';'), 229 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
274 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 230 element: 'parameter(#a)', index: 0),
275 element: 'parameter(#a)', index: 0), 231 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
276 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 232 element: 'parameter(#b)', index: 1),
277 element: 'parameter(#b)', index: 1), 233 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
278 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 234 element: 'generative_constructor(Object#)', type: 'Object'),
279 element: 'generative_constructor(Object#)', type: 'Object'), 235 ], method: ''),
280 ], 236 const Test.clazz('''
281 method: ''),
282 const Test.clazz(
283 '''
284 class C { 237 class C {
285 var b; 238 var b;
286 C(a, this.b); 239 C(a, this.b);
287 } 240 }
288 ''', 241 ''', const [
289 const [ 242 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
290 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 243 element: 'generative_constructor(C#)',
291 element: 'generative_constructor(C#)', 244 parameters: '(a,this.b)',
292 parameters: '(a,this.b)', 245 body: ';'),
293 body: ';'), 246 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
294 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 247 element: 'parameter(#a)', index: 0),
295 element: 'parameter(#a)', index: 0), 248 const Visit(VisitKind.VISIT_REQUIRED_INITIALIZING_FORMAL_DECL,
296 const Visit(VisitKind.VISIT_REQUIRED_INITIALIZING_FORMAL_DECL, 249 element: 'initializing_formal(#b)', index: 1),
297 element: 'initializing_formal(#b)', index: 1), 250 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
298 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 251 element: 'generative_constructor(Object#)', type: 'Object'),
299 element: 'generative_constructor(Object#)', type: 'Object'), 252 ], method: ''),
300 ], 253 const Test.clazz('''
301 method: ''),
302 const Test.clazz(
303 '''
304 class C { 254 class C {
305 var b; 255 var b;
306 C(a, [this.b = 42]); 256 C(a, [this.b = 42]);
307 } 257 }
308 ''', 258 ''', const [
309 const [ 259 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
310 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 260 element: 'generative_constructor(C#)',
311 element: 'generative_constructor(C#)', 261 parameters: '(a,[this.b=42])',
312 parameters: '(a,[this.b=42])', 262 body: ';'),
313 body: ';'), 263 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
314 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 264 element: 'parameter(#a)', index: 0),
315 element: 'parameter(#a)', index: 0), 265 const Visit(VisitKind.VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL,
316 const Visit(VisitKind.VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL, 266 element: 'initializing_formal(#b)', constant: 42, index: 1),
317 element: 'initializing_formal(#b)', constant: 42, index: 1), 267 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
318 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 268 element: 'generative_constructor(Object#)', type: 'Object'),
319 element: 'generative_constructor(Object#)', type: 'Object'), 269 ], method: ''),
320 ], 270 const Test.clazz('''
321 method: ''),
322 const Test.clazz(
323 '''
324 class C { 271 class C {
325 var b; 272 var b;
326 C(a, {this.b: 42}); 273 C(a, {this.b: 42});
327 } 274 }
328 ''', 275 ''', const [
329 const [ 276 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
330 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 277 element: 'generative_constructor(C#)',
331 element: 'generative_constructor(C#)', 278 parameters: '(a,{this.b: 42})',
332 parameters: '(a,{this.b: 42})', 279 body: ';'),
333 body: ';'), 280 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
334 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 281 element: 'parameter(#a)', index: 0),
335 element: 'parameter(#a)', index: 0), 282 const Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL,
336 const Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL, 283 element: 'initializing_formal(#b)', constant: 42),
337 element: 'initializing_formal(#b)', constant: 42), 284 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
338 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 285 element: 'generative_constructor(Object#)', type: 'Object'),
339 element: 'generative_constructor(Object#)', type: 'Object'), 286 ], method: ''),
340 ], 287 const Test.clazz('''
341 method: ''),
342 const Test.clazz(
343 '''
344 class C { 288 class C {
345 C(a, b) : super(); 289 C(a, b) : super();
346 } 290 }
347 ''', 291 ''', const [
348 const [ 292 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
349 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 293 element: 'generative_constructor(C#)',
350 element: 'generative_constructor(C#)', 294 parameters: '(a,b)',
351 parameters: '(a,b)', 295 body: ';'),
352 body: ';'), 296 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
353 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 297 element: 'parameter(#a)', index: 0),
354 element: 'parameter(#a)', index: 0), 298 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
355 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 299 element: 'parameter(#b)', index: 1),
356 element: 'parameter(#b)', index: 1), 300 const Visit(VisitKind.VISIT_SUPER_CONSTRUCTOR_INVOKE,
357 const Visit(VisitKind.VISIT_SUPER_CONSTRUCTOR_INVOKE, 301 element: 'generative_constructor(Object#)',
358 element: 'generative_constructor(Object#)', 302 type: 'Object',
359 type: 'Object', 303 arguments: '()',
360 arguments: '()', 304 selector: 'CallStructure(arity=0)'),
361 selector: 'CallStructure(arity=0)'), 305 ], method: ''),
362 ], 306 const Test.clazz('''
363 method: ''),
364 const Test.clazz(
365 '''
366 class C { 307 class C {
367 var field; 308 var field;
368 C(a, b) : this.field = a; 309 C(a, b) : this.field = a;
369 } 310 }
370 ''', 311 ''', const [
371 const [ 312 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
372 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 313 element: 'generative_constructor(C#)',
373 element: 'generative_constructor(C#)', 314 parameters: '(a,b)',
374 parameters: '(a,b)', 315 body: ';'),
375 body: ';'), 316 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
376 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 317 element: 'parameter(#a)', index: 0),
377 element: 'parameter(#a)', index: 0), 318 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
378 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 319 element: 'parameter(#b)', index: 1),
379 element: 'parameter(#b)', index: 1), 320 const Visit(VisitKind.VISIT_FIELD_INITIALIZER,
380 const Visit(VisitKind.VISIT_FIELD_INITIALIZER, 321 element: 'field(C#field)', rhs: 'a'),
381 element: 'field(C#field)', rhs: 'a'), 322 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
382 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 323 element: 'generative_constructor(Object#)', type: 'Object'),
383 element: 'generative_constructor(Object#)', type: 'Object'), 324 ], method: ''),
384 ], 325 const Test.clazz('''
385 method: ''),
386 const Test.clazz(
387 '''
388 class C { 326 class C {
389 var field1; 327 var field1;
390 var field2; 328 var field2;
391 C(a, b) : this.field1 = a, this.field2 = b; 329 C(a, b) : this.field1 = a, this.field2 = b;
392 } 330 }
393 ''', 331 ''', const [
394 const [ 332 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL,
395 const Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_DECL, 333 element: 'generative_constructor(C#)',
396 element: 'generative_constructor(C#)', 334 parameters: '(a,b)',
397 parameters: '(a,b)', 335 body: ';'),
398 body: ';'), 336 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
399 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 337 element: 'parameter(#a)', index: 0),
400 element: 'parameter(#a)', index: 0), 338 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
401 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 339 element: 'parameter(#b)', index: 1),
402 element: 'parameter(#b)', index: 1), 340 const Visit(VisitKind.VISIT_FIELD_INITIALIZER,
403 const Visit(VisitKind.VISIT_FIELD_INITIALIZER, 341 element: 'field(C#field1)', rhs: 'a'),
404 element: 'field(C#field1)', rhs: 'a'), 342 const Visit(VisitKind.VISIT_FIELD_INITIALIZER,
405 const Visit(VisitKind.VISIT_FIELD_INITIALIZER, 343 element: 'field(C#field2)', rhs: 'b'),
406 element: 'field(C#field2)', rhs: 'b'), 344 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE,
407 const Visit(VisitKind.VISIT_IMPLICIT_SUPER_CONSTRUCTOR_INVOKE, 345 element: 'generative_constructor(Object#)', type: 'Object'),
408 element: 'generative_constructor(Object#)', type: 'Object'), 346 ], method: ''),
409 ], 347 const Test.clazz('''
410 method: ''),
411 const Test.clazz(
412 '''
413 class C { 348 class C {
414 C(a, b) : this._(a, b); 349 C(a, b) : this._(a, b);
415 C._(a, b); 350 C._(a, b);
416 } 351 }
417 ''', 352 ''', const [
418 const [ 353 const Visit(VisitKind.VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_DECL,
419 const Visit(VisitKind.VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_DECL, 354 element: 'generative_constructor(C#)',
420 element: 'generative_constructor(C#)', 355 parameters: '(a,b)',
421 parameters: '(a,b)', 356 initializers: ':this._(a,b)'),
422 initializers: ':this._(a,b)'), 357 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
423 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 358 element: 'parameter(#a)', index: 0),
424 element: 'parameter(#a)', index: 0), 359 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
425 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 360 element: 'parameter(#b)', index: 1),
426 element: 'parameter(#b)', index: 1), 361 const Visit(VisitKind.VISIT_THIS_CONSTRUCTOR_INVOKE,
427 const Visit(VisitKind.VISIT_THIS_CONSTRUCTOR_INVOKE, 362 element: 'generative_constructor(C#_)',
428 element: 'generative_constructor(C#_)', 363 arguments: '(a,b)',
429 arguments: '(a,b)', 364 selector: 'CallStructure(arity=2)'),
430 selector: 'CallStructure(arity=2)'), 365 ], method: ''),
431 ], 366 const Test.clazz('''
432 method: ''),
433 const Test.clazz(
434 '''
435 class C { 367 class C {
436 factory C(a, b) => null; 368 factory C(a, b) => null;
437 } 369 }
438 ''', 370 ''', const [
439 const [ 371 const Visit(VisitKind.VISIT_FACTORY_CONSTRUCTOR_DECL,
440 const Visit(VisitKind.VISIT_FACTORY_CONSTRUCTOR_DECL, 372 element: 'factory_constructor(C#)',
441 element: 'factory_constructor(C#)', 373 parameters: '(a,b)',
442 parameters: '(a,b)', 374 body: '=>null;'),
443 body: '=>null;'), 375 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
444 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 376 element: 'parameter(#a)', index: 0),
445 element: 'parameter(#a)', index: 0), 377 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
446 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 378 element: 'parameter(#b)', index: 1),
447 element: 'parameter(#b)', index: 1), 379 ], method: ''),
448 ], 380 const Test.clazz('''
449 method: ''),
450 const Test.clazz(
451 '''
452 class C { 381 class C {
453 factory C(a, b) = C._; 382 factory C(a, b) = C._;
454 C._(a, b); 383 C._(a, b);
455 } 384 }
456 ''', 385 ''', const [
457 const [ 386 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
458 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 387 element: 'factory_constructor(C#)',
459 element: 'factory_constructor(C#)', 388 parameters: '(a,b)',
460 parameters: '(a,b)', 389 target: 'generative_constructor(C#_)',
461 target: 'generative_constructor(C#_)', 390 type: 'C'),
462 type: 'C'), 391 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
463 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 392 element: 'parameter(#a)', index: 0),
464 element: 'parameter(#a)', index: 0), 393 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
465 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 394 element: 'parameter(#b)', index: 1),
466 element: 'parameter(#b)', index: 1), 395 ], method: ''),
467 ], 396 const Test.clazz('''
468 method: ''),
469 const Test.clazz(
470 '''
471 class C { 397 class C {
472 factory C(a, b) = D; 398 factory C(a, b) = D;
473 } 399 }
474 class D<T> { 400 class D<T> {
475 D(a, b); 401 D(a, b);
476 } 402 }
477 ''', 403 ''', const [
478 const [ 404 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
479 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 405 element: 'factory_constructor(C#)',
480 element: 'factory_constructor(C#)', 406 parameters: '(a,b)',
481 parameters: '(a,b)', 407 target: 'generative_constructor(D#)',
482 target: 'generative_constructor(D#)', 408 type: 'D'),
483 type: 'D'), 409 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
484 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 410 element: 'parameter(#a)', index: 0),
485 element: 'parameter(#a)', index: 0), 411 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
486 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 412 element: 'parameter(#b)', index: 1),
487 element: 'parameter(#b)', index: 1), 413 ], method: ''),
488 ], 414 const Test.clazz('''
489 method: ''),
490 const Test.clazz(
491 '''
492 class C { 415 class C {
493 factory C(a, b) = D<int>; 416 factory C(a, b) = D<int>;
494 } 417 }
495 class D<T> { 418 class D<T> {
496 D(a, b); 419 D(a, b);
497 } 420 }
498 ''', 421 ''', const [
499 const [ 422 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
500 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 423 element: 'factory_constructor(C#)',
501 element: 'factory_constructor(C#)', 424 parameters: '(a,b)',
502 parameters: '(a,b)', 425 target: 'generative_constructor(D#)',
503 target: 'generative_constructor(D#)', 426 type: 'D<int>'),
504 type: 'D<int>'), 427 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
505 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 428 element: 'parameter(#a)', index: 0),
506 element: 'parameter(#a)', index: 0), 429 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
507 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 430 element: 'parameter(#b)', index: 1),
508 element: 'parameter(#b)', index: 1), 431 ], method: ''),
509 ], 432 const Test.clazz('''
510 method: ''),
511 const Test.clazz(
512 '''
513 class C { 433 class C {
514 factory C(a, b) = D<int>; 434 factory C(a, b) = D<int>;
515 } 435 }
516 class D<T> { 436 class D<T> {
517 factory D(a, b) = E<D<T>>; 437 factory D(a, b) = E<D<T>>;
518 } 438 }
519 class E<S> { 439 class E<S> {
520 E(a, b); 440 E(a, b);
521 } 441 }
522 ''', 442 ''', const [
523 const [ 443 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
524 const Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 444 element: 'factory_constructor(C#)',
525 element: 'factory_constructor(C#)', 445 parameters: '(a,b)',
526 parameters: '(a,b)', 446 target: 'factory_constructor(D#)',
527 target: 'factory_constructor(D#)', 447 type: 'D<int>'),
528 type: 'D<int>'), 448 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
529 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 449 element: 'parameter(#a)', index: 0),
530 element: 'parameter(#a)', index: 0), 450 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL,
531 const Visit(VisitKind.VISIT_REQUIRED_PARAMETER_DECL, 451 element: 'parameter(#b)', index: 1),
532 element: 'parameter(#b)', index: 1), 452 ], method: ''),
533 ],
534 method: ''),
535 ], 453 ],
536 "Field declarations": const [ 454 "Field declarations": const [
537 const Test.clazz( 455 const Test.clazz('''
538 '''
539 class C { 456 class C {
540 var m; 457 var m;
541 } 458 }
542 ''', 459 ''', const [
543 const [ 460 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, element: 'field(C#m)'),
544 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 461 ]),
545 element: 'field(C#m)'), 462 const Test.clazz('''
546 ]),
547 const Test.clazz(
548 '''
549 class C { 463 class C {
550 var m, n; 464 var m, n;
551 } 465 }
552 ''', 466 ''', const [
553 const [ 467 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, element: 'field(C#m)'),
554 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 468 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, element: 'field(C#n)'),
555 element: 'field(C#m)'), 469 ]),
556 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 470 const Test.clazz('''
557 element: 'field(C#n)'),
558 ]),
559 const Test.clazz(
560 '''
561 class C { 471 class C {
562 var m = 42; 472 var m = 42;
563 } 473 }
564 ''', 474 ''', const [
565 const [ 475 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL,
566 const Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 476 element: 'field(C#m)', rhs: 42),
567 element: 'field(C#m)', rhs: 42), 477 ]),
568 ]), 478 const Test('''
569 const Test(
570 '''
571 m() { 479 m() {
572 var local; 480 var local;
573 } 481 }
574 ''', 482 ''', const [
575 const [ 483 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
576 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 484 element: 'function(m)', parameters: '()', body: '{var local;}'),
577 element: 'function(m)', parameters: '()', body: '{var local;}'), 485 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
578 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 486 element: 'variable(m#local)'),
579 element: 'variable(m#local)'), 487 ]),
580 ]), 488 const Test('''
581 const Test(
582 '''
583 m() { 489 m() {
584 var local = 42; 490 var local = 42;
585 } 491 }
586 ''', 492 ''', const [
587 const [ 493 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
588 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 494 element: 'function(m)', parameters: '()', body: '{var local=42;}'),
589 element: 'function(m)', 495 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
590 parameters: '()', 496 element: 'variable(m#local)', rhs: 42),
591 body: '{var local=42;}'), 497 ]),
592 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 498 const Test('''
593 element: 'variable(m#local)', rhs: 42),
594 ]),
595 const Test(
596 '''
597 m() { 499 m() {
598 const local = 42; 500 const local = 42;
599 } 501 }
600 ''', 502 ''', const [
601 const [ 503 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
602 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 504 element: 'function(m)', parameters: '()', body: '{const local=42;}'),
603 element: 'function(m)', 505 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
604 parameters: '()', 506 element: 'variable(m#local)', constant: 42),
605 body: '{const local=42;}'), 507 ]),
606 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL, 508 const Test('''
607 element: 'variable(m#local)', constant: 42),
608 ]),
609 const Test(
610 '''
611 m() { 509 m() {
612 var local1, local2; 510 var local1, local2;
613 } 511 }
614 ''', 512 ''', const [
615 const [ 513 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
616 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 514 element: 'function(m)',
617 element: 'function(m)', 515 parameters: '()',
618 parameters: '()', 516 body: '{var local1,local2;}'),
619 body: '{var local1,local2;}'), 517 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
620 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 518 element: 'variable(m#local1)'),
621 element: 'variable(m#local1)'), 519 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
622 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 520 element: 'variable(m#local2)'),
623 element: 'variable(m#local2)'), 521 ]),
624 ]), 522 const Test('''
625 const Test(
626 '''
627 m() { 523 m() {
628 var local1 = 42, local2 = true; 524 var local1 = 42, local2 = true;
629 } 525 }
630 ''', 526 ''', const [
631 const [ 527 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
632 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 528 element: 'function(m)',
633 element: 'function(m)', 529 parameters: '()',
634 parameters: '()', 530 body: '{var local1=42,local2=true;}'),
635 body: '{var local1=42,local2=true;}'), 531 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
636 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 532 element: 'variable(m#local1)', rhs: 42),
637 element: 'variable(m#local1)', rhs: 42), 533 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
638 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 534 element: 'variable(m#local2)', rhs: true),
639 element: 'variable(m#local2)', rhs: true), 535 ]),
640 ]), 536 const Test('''
641 const Test(
642 '''
643 m() { 537 m() {
644 const local1 = 42, local2 = true; 538 const local1 = 42, local2 = true;
645 } 539 }
646 ''', 540 ''', const [
647 const [ 541 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL,
648 const Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_DECL, 542 element: 'function(m)',
649 element: 'function(m)', 543 parameters: '()',
650 parameters: '()', 544 body: '{const local1=42,local2=true;}'),
651 body: '{const local1=42,local2=true;}'), 545 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
652 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL, 546 element: 'variable(m#local1)', constant: 42),
653 element: 'variable(m#local1)', constant: 42), 547 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
654 const Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL, 548 element: 'variable(m#local2)', constant: true),
655 element: 'variable(m#local2)', constant: true), 549 ]),
656 ]), 550 const Test.clazz('''
657 const Test.clazz(
658 '''
659 class C { 551 class C {
660 static var m; 552 static var m;
661 } 553 }
662 ''', 554 ''', const [
663 const [ 555 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'),
664 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'), 556 ]),
665 ]), 557 const Test.clazz('''
666 const Test.clazz(
667 '''
668 class C { 558 class C {
669 static var m, n; 559 static var m, n;
670 } 560 }
671 ''', 561 ''', const [
672 const [ 562 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'),
673 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'), 563 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#n)'),
674 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#n)'), 564 ]),
675 ]), 565 const Test.clazz('''
676 const Test.clazz(
677 '''
678 class C { 566 class C {
679 static var k, l, m, n; 567 static var k, l, m, n;
680 } 568 }
681 ''', 569 ''', const [
682 const [ 570 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#k)'),
683 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#k)'), 571 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#l)'),
684 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#l)'), 572 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'),
685 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#m)'), 573 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#n)'),
686 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, element: 'field(C#n)'), 574 ]),
687 ]), 575 const Test.clazz('''
688 const Test.clazz(
689 '''
690 class C { 576 class C {
691 static var m = 42; 577 static var m = 42;
692 } 578 }
693 ''', 579 ''', const [
694 const [ 580 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL,
695 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, 581 element: 'field(C#m)', rhs: 42),
696 element: 'field(C#m)', rhs: 42), 582 ]),
697 ]), 583 const Test.clazz('''
698 const Test.clazz(
699 '''
700 class C { 584 class C {
701 static var m = 42, n = true; 585 static var m = 42, n = true;
702 } 586 }
703 ''', 587 ''', const [
704 const [ 588 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL,
705 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, 589 element: 'field(C#m)', rhs: 42),
706 element: 'field(C#m)', rhs: 42), 590 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL,
707 const Visit(VisitKind.VISIT_STATIC_FIELD_DECL, 591 element: 'field(C#n)', rhs: true),
708 element: 'field(C#n)', rhs: true), 592 ]),
709 ]), 593 const Test.clazz('''
710 const Test.clazz(
711 '''
712 class C { 594 class C {
713 static const m = 42; 595 static const m = 42;
714 } 596 }
715 ''', 597 ''', const [
716 const [ 598 const Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL,
717 const Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL, 599 element: 'field(C#m)', constant: 42),
718 element: 'field(C#m)', constant: 42), 600 ]),
719 ]), 601 const Test('''
720 const Test(
721 '''
722 var m; 602 var m;
723 ''', 603 ''', const [
724 const [ 604 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, element: 'field(m)'),
725 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 605 ]),
726 element: 'field(m)'), 606 const Test('''
727 ]),
728 const Test(
729 '''
730 var m, n; 607 var m, n;
731 ''', 608 ''', const [
732 const [ 609 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, element: 'field(m)'),
733 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 610 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, element: 'field(n)'),
734 element: 'field(m)'), 611 ]),
735 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 612 const Test('''
736 element: 'field(n)'),
737 ]),
738 const Test(
739 '''
740 var m = 42; 613 var m = 42;
741 ''', 614 ''', const [
742 const [ 615 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL,
743 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 616 element: 'field(m)', rhs: 42),
744 element: 'field(m)', rhs: 42), 617 ]),
745 ]), 618 const Test('''
746 const Test(
747 '''
748 const m = 42; 619 const m = 42;
749 ''', 620 ''', const [
750 const [ 621 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
751 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL, 622 element: 'field(m)', constant: 42),
752 element: 'field(m)', constant: 42), 623 ]),
753 ]),
754 ], 624 ],
755 }; 625 };
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/resolver_test.dart ('k') | tests/compiler/dart2js/semantic_visitor_test_send_data.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698