Index: pkg/compiler/lib/src/world.dart |
diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart |
index f7f5120c7735576d45b59771fd82f2bd0cbac9a4..abcf42605b864be283bb86792010070f4671c37a 100644 |
--- a/pkg/compiler/lib/src/world.dart |
+++ b/pkg/compiler/lib/src/world.dart |
@@ -253,7 +253,8 @@ abstract class ClosedWorld implements World { |
/// Returns whether [element] will be the one used at runtime when being |
/// invoked on an instance of [cls]. [selector] is used to ensure library |
/// privacy is taken into account. |
- bool hasElementIn(ClassEntity cls, Selector selector, Entity element); |
+ bool hasElementIn( |
+ covariant ClassEntity cls, Selector selector, covariant Entity element); |
/// Returns [ClassHierarchyNode] for [cls] used to model the class hierarchies |
/// of known classes. |
@@ -365,7 +366,7 @@ abstract class ClosedWorldRefiner { |
/// Adds the closure class [cls] to the inference world. The class is |
/// considered directly instantiated. |
- void registerClosureClass(ClassElement cls); |
+ void registerClosureClass(covariant ClassElement cls); |
} |
abstract class OpenWorld implements World { |
@@ -373,7 +374,7 @@ abstract class OpenWorld implements World { |
/// |
/// This ensures that class hierarchy queries can be performed on [cls] and |
/// classes that extend or implement it. |
- void registerClass(ClassEntity cls); |
+ void registerClass(covariant ClassEntity cls); |
void registerUsedElement(MemberEntity element); |
void registerTypedef(TypedefElement typedef); |
@@ -484,23 +485,24 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner { |
return cachedMasks.putIfAbsent(base, createMask); |
} |
- bool checkEntity(Entity element); |
+ bool checkEntity(covariant Entity element); |
- bool checkClass(ClassEntity cls); |
+ bool checkClass(covariant ClassEntity cls); |
- bool checkInvariants(ClassEntity cls, {bool mustBeInstantiated: true}); |
+ bool checkInvariants(covariant ClassEntity cls, |
+ {bool mustBeInstantiated: true}); |
- OrderedTypeSet getOrderedTypeSet(ClassEntity cls); |
+ OrderedTypeSet getOrderedTypeSet(covariant ClassEntity cls); |
- int getHierarchyDepth(ClassEntity cls); |
+ int getHierarchyDepth(covariant ClassEntity cls); |
- ClassEntity getSuperClass(ClassEntity cls); |
+ ClassEntity getSuperClass(covariant ClassEntity cls); |
- Iterable<ClassEntity> getInterfaces(ClassEntity cls); |
+ Iterable<ClassEntity> getInterfaces(covariant ClassEntity cls); |
- ClassEntity getAppliedMixin(ClassEntity cls); |
+ ClassEntity getAppliedMixin(covariant ClassEntity cls); |
- bool isNamedMixinApplication(ClassEntity cls); |
+ bool isNamedMixinApplication(covariant ClassEntity cls); |
@override |
bool isInstantiated(ClassEntity cls) { |
@@ -801,8 +803,8 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner { |
/// Returns whether a [selector] call on an instance of [cls] |
/// will hit a method at runtime, and not go through [noSuchMethod]. |
- bool hasConcreteMatch(ClassEntity cls, Selector selector, |
- {ClassEntity stopAtSuperclass}); |
+ bool hasConcreteMatch(covariant ClassEntity cls, Selector selector, |
+ {covariant ClassEntity stopAtSuperclass}); |
@override |
bool needsNoSuchMethod( |
@@ -1075,12 +1077,12 @@ abstract class ClosedWorldBase implements ClosedWorld, ClosedWorldRefiner { |
return sideEffects; |
} |
- SideEffects getSideEffectsOfElement(Entity element) { |
+ SideEffects getSideEffectsOfElement(covariant Entity element) { |
assert(checkEntity(element)); |
return _sideEffects.putIfAbsent(element, _makeSideEffects); |
} |
- static _makeSideEffects() => new SideEffects(); |
+ static SideEffects _makeSideEffects() => new SideEffects(); |
@override |
SideEffects getCurrentlyKnownSideEffects(Entity element) { |