| Index: sdk/lib/_internal/compiler/implementation/universe/universe.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/universe/universe.dart b/sdk/lib/_internal/compiler/implementation/universe/universe.dart
|
| index be9a0e506c51f4c6c800a2de8957dc5f3feefada..4fb6cfbbf7c2bfa66af96980fda3010bdc4eb82e 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/universe/universe.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/universe/universe.dart
|
| @@ -515,12 +515,15 @@ class TypedSelector extends Selector {
|
| if (typeKind == TypedSelectorKind.EXACT) {
|
| return hasElementIn(self, element) && appliesUntyped(element, compiler);
|
| } else if (typeKind == TypedSelectorKind.SUBCLASS) {
|
| - return (hasElementIn(self, element) || other.isSubclassOf(self))
|
| + return (hasElementIn(self, element)
|
| + || other.isSubclassOf(self)
|
| + || compiler.world.hasAnySubclassThatMixes(self, other))
|
| && appliesUntyped(element, compiler);
|
| } else {
|
| assert(typeKind == TypedSelectorKind.INTERFACE);
|
| if (other.implementsInterface(self)
|
| || other.isSubclassOf(self)
|
| + || compiler.world.hasAnySubclassThatMixes(self, other)
|
| || compiler.world.hasAnySubclassThatImplements(other, receiverType)) {
|
| return appliesUntyped(element, compiler);
|
| }
|
|
|