Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(427)

Unified Diff: pkg/analyzer/lib/src/summary/link.dart

Issue 2196363003: Make analyzer strong-mode clean (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/generated/type_system.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « pkg/analyzer/lib/src/generated/type_system.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698