| Index: sdk/lib/_internal/compiler/implementation/elements/elements.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/elements/elements.dart b/sdk/lib/_internal/compiler/implementation/elements/elements.dart
|
| index f06f740fc35c969fc6713a8803f4feb2f85bc097..b857d4a2994fa40fc31a8181a1d3c5233920c523 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/elements/elements.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/elements/elements.dart
|
| @@ -627,6 +627,10 @@ abstract class ScopeContainerElement implements Element {
|
| void forEachLocalMember(f(Element element));
|
| }
|
|
|
| +abstract class ClosureContainer implements Element {
|
| + List<FunctionElement> get nestedClosures;
|
| +}
|
| +
|
| abstract class CompilationUnitElement extends Element {
|
| Script get script;
|
| PartOf get partTag;
|
| @@ -739,6 +743,9 @@ abstract class VariableElement extends Element {
|
| Expression get cachedNode;
|
| }
|
|
|
| +abstract class FieldElement extends VariableElement
|
| + implements ClosureContainer {}
|
| +
|
| abstract class FieldParameterElement extends VariableElement {
|
| VariableElement get fieldElement;
|
| }
|
| @@ -785,7 +792,7 @@ abstract class FunctionSignature {
|
| bool isCompatibleWith(FunctionSignature constructorSignature);
|
| }
|
|
|
| -abstract class FunctionElement extends Element {
|
| +abstract class FunctionElement extends Element implements ClosureContainer {
|
| FunctionExpression get cachedNode;
|
| DartType get type;
|
| FunctionSignature get functionSignature;
|
| @@ -918,7 +925,8 @@ abstract class ClassElement extends TypeDeclarationElement
|
| {bool includeBackendMembers: false,
|
| bool includeSuperAndInjectedMembers: false});
|
|
|
| - void forEachInstanceField(void f(ClassElement enclosingClass, Element field),
|
| + void forEachInstanceField(void f(ClassElement enclosingClass,
|
| + FieldElement field),
|
| {bool includeSuperAndInjectedMembers: false});
|
|
|
| /// Similar to [forEachInstanceField] but visits static fields.
|
|
|