| Index: sdk/lib/_internal/compiler/implementation/elements/modelx.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/elements/modelx.dart b/sdk/lib/_internal/compiler/implementation/elements/modelx.dart
|
| index 215b989fb4d7f245f9ba85e943d1491348b02151..87df036ea1f606b6078d7e824a67e8063780e54a 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/elements/modelx.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/elements/modelx.dart
|
| @@ -333,6 +333,7 @@ class ErroneousElementX extends ElementX implements ErroneousElement {
|
| get patch => null;
|
| get origin => this;
|
| get defaultImplementation => unsupported();
|
| + get nestedClosures => unsupported();
|
|
|
| bool get isRedirectingFactory => unsupported();
|
|
|
| @@ -1164,6 +1165,17 @@ class VariableElementX extends ElementX implements VariableElement {
|
| accept(ElementVisitor visitor) => visitor.visitVariableElement(this);
|
| }
|
|
|
| +class FieldElementX extends VariableElementX implements FieldElement {
|
| + List<FunctionElement> nestedClosures = new List<FunctionElement>();
|
| +
|
| + FieldElementX(String name,
|
| + VariableListElement variables,
|
| + Expression cachedNode)
|
| + : super(name, variables, ElementKind.FIELD, cachedNode);
|
| +
|
| + accept(ElementVisitor visitor) => visitor.visitFieldElement(this);
|
| +}
|
| +
|
| /**
|
| * Parameters in constructors that directly initialize fields. For example:
|
| * [:A(this.field):].
|
| @@ -1420,6 +1432,8 @@ class FunctionElementX extends ElementX implements FunctionElement {
|
| DartType type;
|
| final Modifiers modifiers;
|
|
|
| + List<FunctionElement> nestedClosures = new List<FunctionElement>();
|
| +
|
| FunctionSignature functionSignature;
|
|
|
| /**
|
| @@ -2067,7 +2081,8 @@ abstract class BaseClassElementX extends ElementX implements ClassElement {
|
| * When called on the implementation element both the fields declared in the
|
| * origin and in the patch are included.
|
| */
|
| - void forEachInstanceField(void f(ClassElement enclosingClass, Element field),
|
| + void forEachInstanceField(void f(ClassElement enclosingClass,
|
| + FieldElement field),
|
| {bool includeSuperAndInjectedMembers: false}) {
|
| // Filters so that [f] is only invoked with instance fields.
|
| void fieldFilter(ClassElement enclosingClass, Element member) {
|
|
|