| Index: pkg/compiler/lib/src/elements/common.dart
|
| diff --git a/pkg/compiler/lib/src/elements/common.dart b/pkg/compiler/lib/src/elements/common.dart
|
| index b307f09d5aafc99d92132f285f40413292df81e2..003efbb3e8739f485dc7834bd13a45d8d2dcfc97 100644
|
| --- a/pkg/compiler/lib/src/elements/common.dart
|
| +++ b/pkg/compiler/lib/src/elements/common.dart
|
| @@ -355,7 +355,7 @@ abstract class ClassElementCommon implements ClassElement {
|
| // example when emitting the initializers of fields.
|
| classElement.forEachLocalMember((e) => f(classElement, e));
|
| if (includeBackendMembers) {
|
| - classElement.forEachBackendMember((e) => f(classElement, e));
|
| + classElement.forEachConstructorBody((e) => f(classElement, e));
|
| }
|
| if (includeInjectedMembers) {
|
| if (classElement.isPatched) {
|
| @@ -473,23 +473,19 @@ abstract class ClassElementCommon implements ClassElement {
|
|
|
| // backendMembers are members that have been added by the backend to simplify
|
| // compilation. They don't have any user-side counter-part.
|
| - Link<Element> backendMembers = const Link<Element>();
|
| + List<ConstructorBodyElement> constructorBodies = <ConstructorBodyElement>[];
|
|
|
| - bool get hasBackendMembers => !backendMembers.isEmpty;
|
| + bool get hasConstructorBodies => !constructorBodies.isEmpty;
|
|
|
| - void addBackendMember(Element member) {
|
| + void addConstructorBody(ConstructorBodyElement member) {
|
| // TODO(ngeoffray): Deprecate this method.
|
| assert(member.isGenerativeConstructorBody);
|
| - backendMembers = backendMembers.prepend(member);
|
| - }
|
| -
|
| - void reverseBackendMembers() {
|
| - backendMembers = backendMembers.reverse();
|
| + constructorBodies.add(member);
|
| }
|
|
|
| /// Lookup a synthetic element created by the backend.
|
| - Element lookupBackendMember(String memberName) {
|
| - for (Element element in backendMembers) {
|
| + ConstructorBodyElement lookupConstructorBody(String memberName) {
|
| + for (ConstructorBodyElement element in constructorBodies) {
|
| if (element.name == memberName) {
|
| return element;
|
| }
|
| @@ -497,8 +493,8 @@ abstract class ClassElementCommon implements ClassElement {
|
| return null;
|
| }
|
|
|
| - void forEachBackendMember(void f(Element member)) {
|
| - backendMembers.forEach(f);
|
| + void forEachConstructorBody(void f(ConstructorBodyElement member)) {
|
| + constructorBodies.forEach(f);
|
| }
|
| }
|
|
|
|
|