Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: pkg/compiler/lib/src/resolution/resolution_strategy.dart

Issue 2934783002: Handle named mixin application in emitter (Closed)
Patch Set: Fixes Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698