| Index: pkg/analyzer2dart/lib/src/modely.dart
|
| diff --git a/pkg/analyzer2dart/lib/src/modely.dart b/pkg/analyzer2dart/lib/src/modely.dart
|
| index ea65b249cc374fc7a5bf175e0d1cc20dbe09d6fb..8bf8fae38944763c60911bdb6e58a60a1c47b8f5 100644
|
| --- a/pkg/analyzer2dart/lib/src/modely.dart
|
| +++ b/pkg/analyzer2dart/lib/src/modely.dart
|
| @@ -345,21 +345,8 @@ abstract class TopLevelElementMixin implements ElementY {
|
| bool get isAbstract => false;
|
| }
|
|
|
| -class TopLevelFunctionElementY extends ElementY
|
| - with AnalyzableElementY, AstElementY, TopLevelElementMixin
|
| - implements dart2js.FunctionElement {
|
| - analyzer.FunctionElement get element => super.element;
|
| -
|
| - @override
|
| - dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION;
|
| -
|
| - @override
|
| - dart2js.FunctionType get type => converter.convertType(element.type);
|
| -
|
| - TopLevelFunctionElementY(ElementConverter converter,
|
| - analyzer.FunctionElement element)
|
| - : super(converter, element);
|
| -
|
| +abstract class FunctionElementMixin
|
| + implements ElementY, dart2js.FunctionElement {
|
| @override
|
| get abstractField => unsupported('abstractField');
|
|
|
| @@ -376,6 +363,25 @@ class TopLevelFunctionElementY extends ElementY
|
| bool get hasFunctionSignature => unsupported('hasFunctionSignature');
|
| }
|
|
|
| +class TopLevelFunctionElementY extends ElementY
|
| + with AnalyzableElementY,
|
| + AstElementY,
|
| + TopLevelElementMixin,
|
| + FunctionElementMixin
|
| + implements dart2js.FunctionElement {
|
| + analyzer.FunctionElement get element => super.element;
|
| +
|
| + @override
|
| + dart2js.ElementKind get kind => dart2js.ElementKind.FUNCTION;
|
| +
|
| + @override
|
| + dart2js.FunctionType get type => converter.convertType(element.type);
|
| +
|
| + TopLevelFunctionElementY(ElementConverter converter,
|
| + analyzer.FunctionElement element)
|
| + : super(converter, element);
|
| +}
|
| +
|
| class ParameterElementY extends ElementY
|
| with AnalyzableElementY, AstElementY
|
| implements dart2js.ParameterElement {
|
| @@ -688,4 +694,47 @@ class LocalVariableElementY extends ElementY
|
|
|
| @override
|
| dart2js.DartType get type => unsupported('type');
|
| +}
|
| +
|
| +class ConstructorElementY extends ElementY
|
| + with AnalyzableElementY,
|
| + AstElementY,
|
| + FunctionElementMixin
|
| + implements dart2js.ConstructorElement {
|
| +
|
| + analyzer.ConstructorElement get element => super.element;
|
| +
|
| + @override
|
| + dart2js.ClassElement get enclosingClass {
|
| + return converter.convertElement(element.enclosingElement);
|
| + }
|
| +
|
| + // TODO(johnniwinther): Support redirecting/factory constructors.
|
| + @override
|
| + dart2js.ElementKind get kind => dart2js.ElementKind.GENERATIVE_CONSTRUCTOR;
|
| +
|
| + ConstructorElementY(ElementConverter converter,
|
| + analyzer.ConstructorElement element)
|
| + : super(converter, element);
|
| +
|
| + @override
|
| + computeEffectiveTargetType(_) => unsupported('computeEffectiveTargetType');
|
| +
|
| + @override
|
| + get definingConstructor => unsupported('definingConstructor');
|
| +
|
| + @override
|
| + get effectiveTarget => unsupported('effectiveTarget');
|
| +
|
| + @override
|
| + get immediateRedirectionTarget => unsupported('immediateRedirectionTarget');
|
| +
|
| + @override
|
| + bool get isRedirectingFactory => unsupported('isRedirectingFactory');
|
| +
|
| + @override
|
| + get nestedClosures => unsupported('nestedClosures');
|
| +
|
| + @override
|
| + get type => unsupported('type');
|
| }
|
|
|