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 c29092f2b3b938f5090efe9b0754c9090128d06e..070305be85a300997cb3b73fdcbb50cd934138db 100644 |
--- a/pkg/compiler/lib/src/resolution/resolution_strategy.dart |
+++ b/pkg/compiler/lib/src/resolution/resolution_strategy.dart |
@@ -408,11 +408,26 @@ class _CompilerElementEnvironment implements ElementEnvironment { |
} |
@override |
+ bool isMixinApplication(ClassElement cls) { |
+ return cls.isMixinApplication; |
+ } |
+ |
+ @override |
bool isUnnamedMixinApplication(ClassElement cls) { |
return cls.isUnnamedMixinApplication; |
} |
@override |
+ ClassEntity getEffectiveMixinClass(ClassElement cls) { |
+ if (!cls.isMixinApplication) return null; |
+ do { |
+ MixinApplicationElement mixinApplication = cls; |
+ cls = mixinApplication.mixin; |
+ } while (cls.isMixinApplication); |
+ return cls; |
+ } |
+ |
+ @override |
ResolutionDartType getTypeVariableBound(TypeVariableElement typeVariable) { |
return typeVariable.bound; |
} |