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

Side by Side Diff: pkg/analyzer/lib/dart/element/visitor.dart

Issue 2758123002: Create a new element for generic function types (Closed)
Patch Set: Created 3 years, 9 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) 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 visitParameterElement(element); 115 visitParameterElement(element);
116 116
117 @override 117 @override
118 R visitFunctionElement(FunctionElement element) => visitLocalElement(element); 118 R visitFunctionElement(FunctionElement element) => visitLocalElement(element);
119 119
120 @override 120 @override
121 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => 121 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) =>
122 visitElement(element); 122 visitElement(element);
123 123
124 @override 124 @override
125 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) =>
126 visitElement(element);
127
128 @override
125 R visitImportElement(ImportElement element) => visitElement(element); 129 R visitImportElement(ImportElement element) => visitElement(element);
126 130
127 @override 131 @override
128 R visitLabelElement(LabelElement element) => visitElement(element); 132 R visitLabelElement(LabelElement element) => visitElement(element);
129 133
130 @override 134 @override
131 R visitLibraryElement(LibraryElement element) => visitElement(element); 135 R visitLibraryElement(LibraryElement element) => visitElement(element);
132 136
133 R visitLocalElement(LocalElement element) { 137 R visitLocalElement(LocalElement element) {
134 if (element is LocalVariableElement) { 138 if (element is LocalVariableElement) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 return null; 238 return null;
235 } 239 }
236 240
237 @override 241 @override
238 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) { 242 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) {
239 element.visitChildren(this); 243 element.visitChildren(this);
240 return null; 244 return null;
241 } 245 }
242 246
243 @override 247 @override
248 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) {
249 element.visitChildren(this);
250 return null;
251 }
252
253 @override
244 R visitImportElement(ImportElement element) { 254 R visitImportElement(ImportElement element) {
245 element.visitChildren(this); 255 element.visitChildren(this);
246 return null; 256 return null;
247 } 257 }
248 258
249 @override 259 @override
250 R visitLabelElement(LabelElement element) { 260 R visitLabelElement(LabelElement element) {
251 element.visitChildren(this); 261 element.visitChildren(this);
252 return null; 262 return null;
253 } 263 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 R visitFieldFormalParameterElement(FieldFormalParameterElement element) => 345 R visitFieldFormalParameterElement(FieldFormalParameterElement element) =>
336 null; 346 null;
337 347
338 @override 348 @override
339 R visitFunctionElement(FunctionElement element) => null; 349 R visitFunctionElement(FunctionElement element) => null;
340 350
341 @override 351 @override
342 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null; 352 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => null;
343 353
344 @override 354 @override
355 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) => null;
356
357 @override
345 R visitImportElement(ImportElement element) => null; 358 R visitImportElement(ImportElement element) => null;
346 359
347 @override 360 @override
348 R visitLabelElement(LabelElement element) => null; 361 R visitLabelElement(LabelElement element) => null;
349 362
350 @override 363 @override
351 R visitLibraryElement(LibraryElement element) => null; 364 R visitLibraryElement(LibraryElement element) => null;
352 365
353 @override 366 @override
354 R visitLocalVariableElement(LocalVariableElement element) => null; 367 R visitLocalVariableElement(LocalVariableElement element) => null;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 _throw(element); 419 _throw(element);
407 420
408 @override 421 @override
409 R visitFunctionElement(FunctionElement element) => _throw(element); 422 R visitFunctionElement(FunctionElement element) => _throw(element);
410 423
411 @override 424 @override
412 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) => 425 R visitFunctionTypeAliasElement(FunctionTypeAliasElement element) =>
413 _throw(element); 426 _throw(element);
414 427
415 @override 428 @override
429 R visitGenericFunctionTypeElement(GenericFunctionTypeElement element) =>
430 _throw(element);
431
432 @override
416 R visitImportElement(ImportElement element) => _throw(element); 433 R visitImportElement(ImportElement element) => _throw(element);
417 434
418 @override 435 @override
419 R visitLabelElement(LabelElement element) => _throw(element); 436 R visitLabelElement(LabelElement element) => _throw(element);
420 437
421 @override 438 @override
422 R visitLibraryElement(LibraryElement element) => _throw(element); 439 R visitLibraryElement(LibraryElement element) => _throw(element);
423 440
424 @override 441 @override
425 R visitLocalVariableElement(LocalVariableElement element) => _throw(element); 442 R visitLocalVariableElement(LocalVariableElement element) => _throw(element);
(...skipping 20 matching lines...) Expand all
446 _throw(element); 463 _throw(element);
447 464
448 @override 465 @override
449 R visitTypeParameterElement(TypeParameterElement element) => _throw(element); 466 R visitTypeParameterElement(TypeParameterElement element) => _throw(element);
450 467
451 R _throw(Element element) { 468 R _throw(Element element) {
452 throw new Exception( 469 throw new Exception(
453 'Missing implementation of visit${element.runtimeType}'); 470 'Missing implementation of visit${element.runtimeType}');
454 } 471 }
455 } 472 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/dart/element/element.dart ('k') | pkg/analyzer/lib/src/dart/element/builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698