| Index: pkg/analyzer/lib/src/summary/link.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/link.dart b/pkg/analyzer/lib/src/summary/link.dart
|
| index 08cbde181d5bd52df3da15e0f71303a908316d46..f76bdc2b585d6f4d9de1d050a04e57368248c5ac 100644
|
| --- a/pkg/analyzer/lib/src/summary/link.dart
|
| +++ b/pkg/analyzer/lib/src/summary/link.dart
|
| @@ -347,7 +347,7 @@ abstract class ClassElementForLink extends Object
|
| @override
|
| final CompilationUnitElementForLink enclosingElement;
|
|
|
| - @override
|
| + /// TODO(brianwilkerson) This appears to be unused and might be removable.
|
| bool hasBeenInferred;
|
|
|
| ClassElementForLink(CompilationUnitElementForLink enclosingElement)
|
| @@ -368,7 +368,7 @@ abstract class ClassElementForLink extends Object
|
| List<ConstructorElementForLink> get constructors;
|
|
|
| @override
|
| - CompilationUnitElementForLink get enclosingUnit => enclosingElement;
|
| + CompilationUnitElementImpl get enclosingUnit => enclosingElement;
|
|
|
| @override
|
| List<FieldElementForLink> get fields;
|
| @@ -571,7 +571,7 @@ class ClassElementForLink_Class extends ClassElementForLink
|
| }
|
|
|
| @override
|
| - DartType get type =>
|
| + InterfaceType get type =>
|
| _type ??= buildType((int i) => typeParameterTypes[i], null);
|
|
|
| @override
|
| @@ -740,7 +740,7 @@ class ClassElementForLink_Enum extends ClassElementForLink
|
| InterfaceType get supertype => library._linker.typeProvider.objectType;
|
|
|
| @override
|
| - DartType get type => _type ??= new InterfaceTypeImpl(this);
|
| + InterfaceType get type => _type ??= new InterfaceTypeImpl(this);
|
|
|
| @override
|
| List<TypeParameterElement> get typeParameters => const [];
|
| @@ -1198,7 +1198,7 @@ class CompilationUnitElementInBuildUnit extends CompilationUnitElementForLink {
|
| enclosingClass != null ? addReference(enclosingClass) : null,
|
| dependency: enclosingClass != null
|
| ? null
|
| - : library.addDependency(element.library),
|
| + : library.addDependency(element.library as LibraryElementForLink),
|
| kind: kind);
|
| } else if (element is FunctionElementForLink_Initializer) {
|
| return addRawReference('',
|
| @@ -1629,6 +1629,9 @@ class ConstructorElementForLink extends ExecutableElementForLink_NonLocal
|
| ConstructorElementForLink get asConstructor => this;
|
|
|
| @override
|
| + ClassElementImpl get enclosingElement => super.enclosingClass;
|
| +
|
| + @override
|
| bool get isCycleFree {
|
| if (!_constNode.isEvaluated) {
|
| new ConstDependencyWalker().walk(_constNode);
|
| @@ -1852,7 +1855,6 @@ abstract class ExecutableElementForLink extends Object
|
| String _name;
|
| String _displayName;
|
|
|
| - @override
|
| final CompilationUnitElementForLink compilationUnit;
|
|
|
| ExecutableElementForLink(this.compilationUnit, this._unlinkedExecutable);
|
| @@ -1929,7 +1931,7 @@ abstract class ExecutableElementForLink extends Object
|
| bool get isSynthetic => false;
|
|
|
| @override
|
| - LibraryElementForLink get library => enclosingElement.library;
|
| + LibraryElement get library => enclosingElement.library;
|
|
|
| @override
|
| String get name {
|
| @@ -1975,7 +1977,7 @@ abstract class ExecutableElementForLink extends Object
|
| */
|
| DartType _computeDefaultReturnType() {
|
| if (_unlinkedExecutable.kind == UnlinkedExecutableKind.setter &&
|
| - library._linker.strongMode) {
|
| + (library as LibraryElementForLink)._linker.strongMode) {
|
| // In strong mode, setters without an explicit return type are
|
| // considered to return `void`.
|
| return VoidTypeImpl.instance;
|
| @@ -3728,6 +3730,9 @@ class MethodElementForLink extends ExecutableElementForLink_NonLocal
|
| DartType get asStaticType => type;
|
|
|
| @override
|
| + ClassElementImpl get enclosingElement => super.enclosingClass;
|
| +
|
| + @override
|
| String get identifier => name;
|
|
|
| @override
|
| @@ -3998,7 +4003,7 @@ class ParameterElementForLink_VariableSetter implements ParameterElementImpl {
|
| * Mixin used by elements that can have parameters.
|
| */
|
| abstract class ParameterParentElementForLink implements Element {
|
| - List<ParameterElementForLink> _parameters;
|
| + List<ParameterElement> _parameters;
|
|
|
| /**
|
| * Get the appropriate integer list to store in
|
| @@ -4012,11 +4017,11 @@ abstract class ParameterParentElementForLink implements Element {
|
| /**
|
| * Get all the parameters of this element.
|
| */
|
| - List<ParameterElementForLink> get parameters {
|
| + List<ParameterElement> get parameters {
|
| if (_parameters == null) {
|
| List<UnlinkedParam> unlinkedParameters = this.unlinkedParameters;
|
| int numParameters = unlinkedParameters.length;
|
| - _parameters = new List<ParameterElementForLink>(numParameters);
|
| + _parameters = new List<ParameterElement>(numParameters);
|
| for (int i = 0; i < numParameters; i++) {
|
| UnlinkedParam unlinkedParam = unlinkedParameters[i];
|
| _parameters[i] = new ParameterElementForLink(
|
| @@ -4142,7 +4147,7 @@ class PropertyAccessorElementForLink_Executable
|
| with ReferenceableElementForLink
|
| implements PropertyAccessorElementForLink {
|
| @override
|
| - SyntheticVariableElementForLink variable;
|
| + PropertyInducingElement variable;
|
|
|
| PropertyAccessorElementForLink_Executable(
|
| CompilationUnitElementForLink enclosingUnit,
|
| @@ -4175,7 +4180,8 @@ class PropertyAccessorElementForLink_Executable
|
|
|
| @override
|
| ReferenceableElementForLink getContainedName(String name) {
|
| - return new NonstaticMemberElementForLink(library, this, name);
|
| + return new NonstaticMemberElementForLink(
|
| + library as LibraryElementForLink, this, name);
|
| }
|
|
|
| @override
|
|
|