OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 /** | 5 /** |
6 * Defines element visitors that support useful patterns for visiting the | 6 * Defines element visitors that support useful patterns for visiting the |
7 * elements in an [element model](element.dart). | 7 * elements in an [element model](element.dart). |
8 * | 8 * |
9 * Dart is an evolving language, and the element model must evolved with it. | 9 * Dart is an evolving language, and the element model must evolved with it. |
10 * When the element model changes, the visitor interface will sometimes change | 10 * When the element model changes, the visitor interface will sometimes change |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 visitElement(element); | 122 visitElement(element); |
123 | 123 |
124 @override | 124 @override |
125 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => | 125 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => |
126 visitElement(element); | 126 visitElement(element); |
127 | 127 |
128 @override | 128 @override |
129 R visitImportElement(ImportElement element) => visitElement(element); | 129 R visitImportElement(ImportElement element) => visitElement(element); |
130 | 130 |
131 @override | 131 @override |
| 132 R visitLabelElement(LabelElement element) => visitElement(element); |
| 133 |
| 134 @override |
132 R visitLibraryElement(LibraryElement element) => visitElement(element); | 135 R visitLibraryElement(LibraryElement element) => visitElement(element); |
133 | 136 |
134 R visitLocalElement(LocalElement element) { | 137 R visitLocalElement(LocalElement element) { |
135 if (element is LocalVariableElement) { | 138 if (element is LocalVariableElement) { |
136 return visitVariableElement(element); | 139 return visitVariableElement(element); |
137 } else if (element is ParameterElement) { | 140 } else if (element is ParameterElement) { |
138 return visitVariableElement(element); | 141 return visitVariableElement(element); |
139 } else if (element is FunctionElement) { | 142 } else if (element is FunctionElement) { |
140 return visitExecutableElement(element); | 143 return visitExecutableElement(element); |
141 } | 144 } |
142 return null; | 145 return null; |
143 } | 146 } |
144 | 147 |
145 @override | 148 @override |
| 149 R visitLocalVariableElement(LocalVariableElement element) => |
| 150 visitLocalElement(element); |
| 151 |
| 152 @override |
146 R visitMethodElement(MethodElement element) => | 153 R visitMethodElement(MethodElement element) => |
147 visitExecutableElement(element); | 154 visitExecutableElement(element); |
148 | 155 |
149 @override | 156 @override |
150 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => | 157 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => |
151 visitElement(element); | 158 visitElement(element); |
152 | 159 |
153 @override | 160 @override |
154 R visitParameterElement(ParameterElement element) => | 161 R visitParameterElement(ParameterElement element) => |
155 visitLocalElement(element); | 162 visitLocalElement(element); |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 return null; | 250 return null; |
244 } | 251 } |
245 | 252 |
246 @override | 253 @override |
247 R visitImportElement(ImportElement element) { | 254 R visitImportElement(ImportElement element) { |
248 element.visitChildren(this); | 255 element.visitChildren(this); |
249 return null; | 256 return null; |
250 } | 257 } |
251 | 258 |
252 @override | 259 @override |
| 260 R visitLabelElement(LabelElement element) { |
| 261 element.visitChildren(this); |
| 262 return null; |
| 263 } |
| 264 |
| 265 @override |
253 R visitLibraryElement(LibraryElement element) { | 266 R visitLibraryElement(LibraryElement element) { |
254 element.visitChildren(this); | 267 element.visitChildren(this); |
255 return null; | 268 return null; |
256 } | 269 } |
257 | 270 |
258 @override | 271 @override |
| 272 R visitLocalVariableElement(LocalVariableElement element) { |
| 273 element.visitChildren(this); |
| 274 return null; |
| 275 } |
| 276 |
| 277 @override |
259 R visitMethodElement(MethodElement element) { | 278 R visitMethodElement(MethodElement element) { |
260 element.visitChildren(this); | 279 element.visitChildren(this); |
261 return null; | 280 return null; |
262 } | 281 } |
263 | 282 |
264 @override | 283 @override |
265 R visitMultiplyDefinedElement(MultiplyDefinedElement element) { | 284 R visitMultiplyDefinedElement(MultiplyDefinedElement element) { |
266 element.visitChildren(this); | 285 element.visitChildren(this); |
267 return null; | 286 return null; |
268 } | 287 } |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 @override | 351 @override |
333 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null; | 352 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null; |
334 | 353 |
335 @override | 354 @override |
336 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => null; | 355 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => null; |
337 | 356 |
338 @override | 357 @override |
339 R visitImportElement(ImportElement element) => null; | 358 R visitImportElement(ImportElement element) => null; |
340 | 359 |
341 @override | 360 @override |
| 361 R visitLabelElement(LabelElement element) => null; |
| 362 |
| 363 @override |
342 R visitLibraryElement(LibraryElement element) => null; | 364 R visitLibraryElement(LibraryElement element) => null; |
343 | 365 |
344 @override | 366 @override |
| 367 R visitLocalVariableElement(LocalVariableElement element) => null; |
| 368 |
| 369 @override |
345 R visitMethodElement(MethodElement element) => null; | 370 R visitMethodElement(MethodElement element) => null; |
346 | 371 |
347 @override | 372 @override |
348 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => null; | 373 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => null; |
349 | 374 |
350 @override | 375 @override |
351 R visitParameterElement(ParameterElement element) => null; | 376 R visitParameterElement(ParameterElement element) => null; |
352 | 377 |
353 @override | 378 @override |
354 R visitPrefixElement(PrefixElement element) => null; | 379 R visitPrefixElement(PrefixElement element) => null; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 _throw(element); | 426 _throw(element); |
402 | 427 |
403 @override | 428 @override |
404 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => | 429 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => |
405 _throw(element); | 430 _throw(element); |
406 | 431 |
407 @override | 432 @override |
408 R visitImportElement(ImportElement element) => _throw(element); | 433 R visitImportElement(ImportElement element) => _throw(element); |
409 | 434 |
410 @override | 435 @override |
| 436 R visitLabelElement(LabelElement element) => _throw(element); |
| 437 |
| 438 @override |
411 R visitLibraryElement(LibraryElement element) => _throw(element); | 439 R visitLibraryElement(LibraryElement element) => _throw(element); |
412 | 440 |
413 @override | 441 @override |
| 442 R visitLocalVariableElement(LocalVariableElement element) => _throw(element); |
| 443 |
| 444 @override |
414 R visitMethodElement(MethodElement element) => _throw(element); | 445 R visitMethodElement(MethodElement element) => _throw(element); |
415 | 446 |
416 @override | 447 @override |
417 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => | 448 R visitMultiplyDefinedElement(MultiplyDefinedElement element) => |
418 _throw(element); | 449 _throw(element); |
419 | 450 |
420 @override | 451 @override |
421 R visitParameterElement(ParameterElement element) => _throw(element); | 452 R visitParameterElement(ParameterElement element) => _throw(element); |
422 | 453 |
423 @override | 454 @override |
424 R visitPrefixElement(PrefixElement element) => _throw(element); | 455 R visitPrefixElement(PrefixElement element) => _throw(element); |
425 | 456 |
426 @override | 457 @override |
427 R visitPropertyAccessorElement(PropertyAccessorElement element) => | 458 R visitPropertyAccessorElement(PropertyAccessorElement element) => |
428 _throw(element); | 459 _throw(element); |
429 | 460 |
430 @override | 461 @override |
431 R visitTopLevelVariableElement(TopLevelVariableElement element) => | 462 R visitTopLevelVariableElement(TopLevelVariableElement element) => |
432 _throw(element); | 463 _throw(element); |
433 | 464 |
434 @override | 465 @override |
435 R visitTypeParameterElement(TypeParameterElement element) => _throw(element); | 466 R visitTypeParameterElement(TypeParameterElement element) => _throw(element); |
436 | 467 |
437 R _throw(Element element) { | 468 R _throw(Element element) { |
438 throw new Exception( | 469 throw new Exception( |
439 'Missing implementation of visit${element.runtimeType}'); | 470 'Missing implementation of visit${element.runtimeType}'); |
440 } | 471 } |
441 } | 472 } |
OLD | NEW |