Chromium Code Reviews| 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 |