OLD | NEW |
---|---|
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 /// Mixins that implement convenience methods on [Element] subclasses. | 5 /// Mixins that implement convenience methods on [Element] subclasses. |
6 | 6 |
7 library elements.common; | 7 library elements.common; |
8 | 8 |
9 import '../common/names.dart' show Identifiers, Names, Uris; | 9 import '../common/names.dart' show Identifiers, Names, Uris; |
10 import '../common_elements.dart' show CommonElements; | 10 import '../common_elements.dart' show CommonElements; |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
466 return member != null && member.isMethod ? member.type : null; | 466 return member != null && member.isMethod ? member.type : null; |
467 } | 467 } |
468 | 468 |
469 @override | 469 @override |
470 bool get isNamedMixinApplication { | 470 bool get isNamedMixinApplication { |
471 return isMixinApplication && !isUnnamedMixinApplication; | 471 return isMixinApplication && !isUnnamedMixinApplication; |
472 } | 472 } |
473 | 473 |
474 // backendMembers are members that have been added by the backend to simplify | 474 // backendMembers are members that have been added by the backend to simplify |
475 // compilation. They don't have any user-side counter-part. | 475 // compilation. They don't have any user-side counter-part. |
476 Link<Element> backendMembers = const Link<Element>(); | 476 Link<ConstructorBodyElement> backendMembers = |
Siggi Cherem (dart-lang)
2017/06/08 18:01:46
TODO: rename?
Johnni Winther
2017/06/09 09:28:49
Renamed all methods - and removed the reverseBacke
| |
477 const Link<ConstructorBodyElement>(); | |
477 | 478 |
478 bool get hasBackendMembers => !backendMembers.isEmpty; | 479 bool get hasBackendMembers => !backendMembers.isEmpty; |
479 | 480 |
480 void addBackendMember(Element member) { | 481 void addBackendMember(ConstructorBodyElement member) { |
481 // TODO(ngeoffray): Deprecate this method. | 482 // TODO(ngeoffray): Deprecate this method. |
482 assert(member.isGenerativeConstructorBody); | 483 assert(member.isGenerativeConstructorBody); |
483 backendMembers = backendMembers.prepend(member); | 484 backendMembers = backendMembers.prepend(member); |
484 } | 485 } |
485 | 486 |
486 void reverseBackendMembers() { | 487 void reverseBackendMembers() { |
487 backendMembers = backendMembers.reverse(); | 488 backendMembers = backendMembers.reverse(); |
488 } | 489 } |
489 | 490 |
490 /// Lookup a synthetic element created by the backend. | 491 /// Lookup a synthetic element created by the backend. |
491 Element lookupBackendMember(String memberName) { | 492 ConstructorBodyElement lookupBackendMember(String memberName) { |
492 for (Element element in backendMembers) { | 493 for (ConstructorBodyElement element in backendMembers) { |
493 if (element.name == memberName) { | 494 if (element.name == memberName) { |
494 return element; | 495 return element; |
495 } | 496 } |
496 } | 497 } |
497 return null; | 498 return null; |
498 } | 499 } |
499 | 500 |
500 void forEachBackendMember(void f(Element member)) { | 501 void forEachBackendMember(void f(ConstructorBodyElement member)) { |
501 backendMembers.forEach(f); | 502 backendMembers.forEach(f); |
502 } | 503 } |
503 } | 504 } |
504 | 505 |
505 abstract class FunctionSignatureCommon implements FunctionSignature { | 506 abstract class FunctionSignatureCommon implements FunctionSignature { |
506 ParameterStructure _parameterStructure; | 507 ParameterStructure _parameterStructure; |
507 | 508 |
508 ResolutionDartType get returnType => type.returnType; | 509 ResolutionDartType get returnType => type.returnType; |
509 | 510 |
510 void forEachRequiredParameter(void function(Element parameter)) { | 511 void forEachRequiredParameter(void function(Element parameter)) { |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
673 @override | 674 @override |
674 bool get isBoolFromEnvironmentConstructor { | 675 bool get isBoolFromEnvironmentConstructor { |
675 return fromEnvironmentState == _FromEnvironmentState.BOOL; | 676 return fromEnvironmentState == _FromEnvironmentState.BOOL; |
676 } | 677 } |
677 | 678 |
678 @override | 679 @override |
679 bool get isStringFromEnvironmentConstructor { | 680 bool get isStringFromEnvironmentConstructor { |
680 return fromEnvironmentState == _FromEnvironmentState.STRING; | 681 return fromEnvironmentState == _FromEnvironmentState.STRING; |
681 } | 682 } |
682 } | 683 } |
OLD | NEW |