Index: runtime/vm/class_finalizer.cc |
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc |
index 4d508c80a8f68e5ceccecd8196e2f5825ee89adc..5fecf1cb5292fe9ad1e165fb44e095d8c25dd5c4 100644 |
--- a/runtime/vm/class_finalizer.cc |
+++ b/runtime/vm/class_finalizer.cc |
@@ -2236,6 +2236,12 @@ void ClassFinalizer::FinalizeTypesInClass(const Class& cls) { |
super_type = FinalizeType(cls, super_type, kCanonicalizeWellFormed); |
cls.set_super_type(super_type); |
} |
+ // Finalize mixin type. |
+ Type& mixin_type = Type::Handle(cls.mixin()); |
+ if (!mixin_type.IsNull()) { |
+ mixin_type ^= FinalizeType(cls, mixin_type, kCanonicalizeWellFormed); |
+ cls.set_mixin(mixin_type); |
+ } |
if (cls.IsSignatureClass()) { |
// Check for illegal self references. |
GrowableArray<intptr_t> visited_aliases; |