| Index: pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/resolution_strategy.dart b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| index 33440831bd26583136d7fb7e882dce1c8c35646c..2b47335564765e87d8a77a9e75d946f09dc5a373 100644
|
| --- a/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| +++ b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
|
| @@ -142,7 +142,7 @@ class ResolutionFrontEndStrategy implements FrontendStrategy {
|
| }
|
|
|
| FunctionEntity computeMain(
|
| - LibraryElement mainApp, WorldImpactBuilder impactBuilder) {
|
| + covariant LibraryElement mainApp, WorldImpactBuilder impactBuilder) {
|
| _elementEnvironment._mainLibrary = mainApp;
|
| if (mainApp == null) return null;
|
| MethodElement mainFunction;
|
| @@ -394,16 +394,17 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| Iterable<LibraryEntity> get libraries => _compiler.libraryLoader.libraries;
|
|
|
| @override
|
| - String getLibraryName(LibraryElement library) => library.libraryName;
|
| + String getLibraryName(covariant LibraryElement library) =>
|
| + library.libraryName;
|
|
|
| @override
|
| - ResolutionInterfaceType getThisType(ClassElement cls) {
|
| + ResolutionInterfaceType getThisType(covariant ClassElement cls) {
|
| cls.ensureResolved(_resolution);
|
| return cls.thisType;
|
| }
|
|
|
| @override
|
| - ResolutionInterfaceType getRawType(ClassElement cls) {
|
| + ResolutionInterfaceType getRawType(covariant ClassElement cls) {
|
| cls.ensureResolved(_resolution);
|
| return cls.rawType;
|
| }
|
| @@ -414,17 +415,17 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - bool isMixinApplication(ClassElement cls) {
|
| + bool isMixinApplication(covariant ClassElement cls) {
|
| return cls.isMixinApplication;
|
| }
|
|
|
| @override
|
| - bool isUnnamedMixinApplication(ClassElement cls) {
|
| + bool isUnnamedMixinApplication(covariant ClassElement cls) {
|
| return cls.isUnnamedMixinApplication;
|
| }
|
|
|
| @override
|
| - ClassEntity getEffectiveMixinClass(ClassElement cls) {
|
| + ClassEntity getEffectiveMixinClass(covariant ClassElement cls) {
|
| if (!cls.isMixinApplication) return null;
|
| do {
|
| MixinApplicationElement mixinApplication = cls;
|
| @@ -434,19 +435,20 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - ResolutionDartType getTypeVariableBound(TypeVariableElement typeVariable) {
|
| + ResolutionDartType getTypeVariableBound(
|
| + covariant TypeVariableElement typeVariable) {
|
| return typeVariable.bound;
|
| }
|
|
|
| @override
|
| - ResolutionInterfaceType createInterfaceType(
|
| - ClassElement cls, List<ResolutionDartType> typeArguments) {
|
| + ResolutionInterfaceType createInterfaceType(covariant ClassElement cls,
|
| + covariant List<ResolutionDartType> typeArguments) {
|
| cls.ensureResolved(_resolution);
|
| return cls.thisType.createInstantiation(typeArguments);
|
| }
|
|
|
| @override
|
| - MemberElement lookupClassMember(ClassElement cls, String name,
|
| + MemberElement lookupClassMember(covariant ClassElement cls, String name,
|
| {bool setter: false, bool required: false}) {
|
| cls.ensureResolved(_resolution);
|
| Element member = cls.implementation.lookupLocalMember(name);
|
| @@ -474,7 +476,7 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - ConstructorElement lookupConstructor(ClassElement cls, String name,
|
| + ConstructorElement lookupConstructor(covariant ClassElement cls, String name,
|
| {bool required: false}) {
|
| cls.ensureResolved(_resolution);
|
| ConstructorElement constructor = cls.implementation.lookupConstructor(name);
|
| @@ -489,8 +491,8 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - void forEachClassMember(
|
| - ClassElement cls, void f(ClassElement declarer, MemberElement member)) {
|
| + void forEachClassMember(covariant ClassElement cls,
|
| + void f(ClassElement declarer, MemberElement member)) {
|
| cls.ensureResolved(_resolution);
|
| cls.forEachMember((ClassElement declarer, _member) {
|
| MemberElement member = _member;
|
| @@ -503,7 +505,7 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
|
|
| @override
|
| void forEachConstructor(
|
| - ClassElement cls, void f(ConstructorEntity constructor)) {
|
| + covariant ClassElement cls, void f(ConstructorEntity constructor)) {
|
| cls.ensureResolved(_resolution);
|
| for (ConstructorElement constructor in cls.implementation.constructors) {
|
| _resolution.ensureResolved(constructor.declaration);
|
| @@ -513,7 +515,7 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - ClassEntity getSuperClass(ClassElement cls,
|
| + ClassEntity getSuperClass(covariant ClassElement cls,
|
| {bool skipUnnamedMixinApplications: false}) {
|
| cls.ensureResolved(_resolution);
|
| ClassElement superclass = cls.superclass;
|
| @@ -527,13 +529,12 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
|
|
| @override
|
| void forEachSupertype(
|
| - ClassElement cls, void f(ResolutionInterfaceType supertype)) {
|
| - cls.allSupertypes
|
| - .forEach((ResolutionInterfaceType supertype) => f(supertype));
|
| + covariant ClassElement cls, void f(ResolutionInterfaceType supertype)) {
|
| + cls.allSupertypes.forEach((InterfaceType supertype) => f(supertype));
|
| }
|
|
|
| @override
|
| - void forEachMixin(ClassElement cls, void f(ClassElement mixin)) {
|
| + void forEachMixin(covariant ClassElement cls, void f(ClassElement mixin)) {
|
| for (; cls != null; cls = cls.superclass) {
|
| if (cls.isMixinApplication) {
|
| MixinApplicationElement mixinApplication = cls;
|
| @@ -543,7 +544,8 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - MemberElement lookupLibraryMember(LibraryElement library, String name,
|
| + MemberElement lookupLibraryMember(
|
| + covariant LibraryElement library, String name,
|
| {bool setter: false, bool required: false}) {
|
| Element member = library.implementation.findLocal(name);
|
| if (member != null && member.isAbstractField) {
|
| @@ -571,7 +573,7 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
|
|
| @override
|
| void forEachLibraryMember(
|
| - LibraryElement library, void f(MemberEntity member)) {
|
| + covariant LibraryElement library, void f(MemberEntity member)) {
|
| library.implementation.forEachLocalMember((Element element) {
|
| if (!element.isClass && !element.isTypedef) {
|
| MemberElement member = element;
|
| @@ -581,7 +583,7 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - ClassElement lookupClass(LibraryElement library, String name,
|
| + ClassElement lookupClass(covariant LibraryElement library, String name,
|
| {bool required: false}) {
|
| ClassElement cls = library.implementation.findLocal(name);
|
| if (cls == null && required) {
|
| @@ -594,10 +596,11 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - void forEachClass(LibraryElement library, void f(ClassElement cls)) {
|
| - library.implementation.forEachLocalMember((member) {
|
| + void forEachClass(covariant LibraryElement library, void f(ClassEntity cls)) {
|
| + library.implementation.forEachLocalMember((dynamic member) {
|
| if (member.isClass) {
|
| - f(member);
|
| + ClassElement cls = member;
|
| + f(cls);
|
| }
|
| });
|
| }
|
| @@ -621,12 +624,12 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - bool isDeferredLoadLibraryGetter(MemberElement member) {
|
| + bool isDeferredLoadLibraryGetter(covariant MemberElement member) {
|
| return member.isDeferredLoaderGetter;
|
| }
|
|
|
| @override
|
| - ResolutionFunctionType getFunctionType(MethodElement method) {
|
| + ResolutionFunctionType getFunctionType(covariant MethodElement method) {
|
| if (method is ConstructorBodyElement) {
|
| return method.constructor.type;
|
| }
|
| @@ -635,18 +638,19 @@ class _CompilerElementEnvironment implements ElementEnvironment {
|
| }
|
|
|
| @override
|
| - ResolutionFunctionType getLocalFunctionType(LocalFunctionElement function) {
|
| + ResolutionFunctionType getLocalFunctionType(
|
| + covariant LocalFunctionElement function) {
|
| return function.type;
|
| }
|
|
|
| @override
|
| - ResolutionDartType getUnaliasedType(ResolutionDartType type) {
|
| + ResolutionDartType getUnaliasedType(covariant ResolutionDartType type) {
|
| type.computeUnaliased(_resolution);
|
| return type.unaliased;
|
| }
|
|
|
| @override
|
| - Iterable<ConstantValue> getMemberMetadata(MemberElement element) {
|
| + Iterable<ConstantValue> getMemberMetadata(covariant MemberElement element) {
|
| List<ConstantValue> values = <ConstantValue>[];
|
| _compiler.reporter.withCurrentElement(element, () {
|
| for (MetadataAnnotation metadata in element.implementation.metadata) {
|
| @@ -677,8 +681,8 @@ class _ElementAnnotationProcessor implements AnnotationProcessor {
|
|
|
| /// Check whether [cls] has a `@Native(...)` annotation, and if so, set its
|
| /// native name from the annotation.
|
| - void extractNativeAnnotations(
|
| - LibraryElement library, NativeBasicDataBuilder nativeBasicDataBuilder) {
|
| + void extractNativeAnnotations(covariant LibraryElement library,
|
| + NativeBasicDataBuilder nativeBasicDataBuilder) {
|
| library.forEachLocalMember((Element element) {
|
| if (element.isClass) {
|
| EagerAnnotationHandler.checkAnnotation(_compiler, element,
|
| @@ -687,8 +691,8 @@ class _ElementAnnotationProcessor implements AnnotationProcessor {
|
| });
|
| }
|
|
|
| - void extractJsInteropAnnotations(
|
| - LibraryElement library, NativeBasicDataBuilder nativeBasicDataBuilder) {
|
| + void extractJsInteropAnnotations(covariant LibraryElement library,
|
| + NativeBasicDataBuilder nativeBasicDataBuilder) {
|
| bool checkJsInteropAnnotation(Element element) {
|
| return EagerAnnotationHandler.checkAnnotation(
|
| _compiler, element, const JsInteropAnnotationHandler());
|
| @@ -850,7 +854,7 @@ class _ElementAnnotationProcessor implements AnnotationProcessor {
|
| }
|
|
|
| _compiler.libraryLoader.libraries
|
| - .forEach(processJsInteropAnnotationsInLibrary);
|
| + .forEach((LibraryEntity l) => processJsInteropAnnotationsInLibrary(l));
|
| }
|
| }
|
|
|
|
|