Index: pkg/compiler/lib/src/serialization/equivalence.dart |
diff --git a/pkg/compiler/lib/src/serialization/equivalence.dart b/pkg/compiler/lib/src/serialization/equivalence.dart |
index c7653ef4f6c9ac500bb9cbeef4d2a3c8356e8df3..563783fde293038581528e9c2846012c5a94f056 100644 |
--- a/pkg/compiler/lib/src/serialization/equivalence.dart |
+++ b/pkg/compiler/lib/src/serialization/equivalence.dart |
@@ -383,7 +383,10 @@ class ElementIdentityEquivalence extends BaseElementVisitor<bool, Element> { |
@override |
bool visitClassElement(ClassElement element1, ClassElement element2) { |
- if (!strategy.test(element1, element2, 'isUnnamedMixinApplication', |
+ if (!strategy.test( |
+ element1, |
+ element2, |
+ 'isUnnamedMixinApplication', |
element1.isUnnamedMixinApplication, |
element2.isUnnamedMixinApplication)) { |
return false; |
@@ -391,18 +394,18 @@ class ElementIdentityEquivalence extends BaseElementVisitor<bool, Element> { |
if (element1.isUnnamedMixinApplication) { |
MixinApplicationElement mixin1 = element1; |
MixinApplicationElement mixin2 = element2; |
- return strategy.testElements(mixin1, mixin2, 'subclass', |
- mixin1.subclass, mixin2.subclass) && |
+ return strategy.testElements( |
+ mixin1, mixin2, 'subclass', mixin1.subclass, mixin2.subclass) && |
// Using the [mixinType] is more precise but requires the test to |
// handle self references: The identity of a type variable is based on |
// its type declaration and if [mixin1] is generic the [mixinType] |
// will contain the type variables declared by [mixin1], i.e. |
// `abstract class Mixin<T> implements MixinType<T> {}` |
- strategy.testElements(mixin1, mixin2, 'mixin', |
- mixin1.mixin, mixin2.mixin); |
+ strategy.testElements( |
+ mixin1, mixin2, 'mixin', mixin1.mixin, mixin2.mixin); |
} else { |
return strategy.test( |
- element1, element2, 'name', element1.name, element2.name) && |
+ element1, element2, 'name', element1.name, element2.name) && |
visit(element1.library, element2.library); |
} |
} |