Revert "[fasta] Invoke constructors of mixin applications in super invocations"

This reverts commit 7d1ebf260a5dca5d1edc4d396850c27e3de9b362 as it
breaks vm-kernel-precomp-obfuscate-linux-release-x64, kernel-precomp
bots.

Change-Id: Icf7ba0fc2c3781c34b1c4327655f958c809d99fe
Reviewed-on: https://dart-review.googlesource.com/c/87120
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index d5a20c0..1f40b69 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -894,6 +894,10 @@
     ir.Class callerClass = caller.enclosingClass;
     ir.Supertype supertype = callerClass.supertype;
 
+    if (callerClass.mixedInType != null) {
+      _collectFieldValues(callerClass.mixedInType.classNode, constructorData);
+    }
+
     // The class of the super-constructor may not be the supertype class. In
     // this case, we must go up the class hierarchy until we reach the class
     // containing the super-constructor.
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 5d3ad9e..70f7382 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -1576,6 +1576,9 @@
     Class cls = classBuilder.cls;
     if (isSuper) {
       cls = cls.superclass;
+      while (cls.isMixinApplication) {
+        cls = cls.superclass;
+      }
     }
     if (cls != null) {
       for (Constructor constructor in cls.constructors) {
@@ -1602,6 +1605,9 @@
 
       if (isSuper) {
         builder = getSuperclass(builder)?.origin;
+        while (builder?.isMixinApplication ?? false) {
+          builder = getSuperclass(builder)?.origin;
+        }
       }
       if (builder != null) {
         Class target = builder.target;
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
index 7a62b1a..ad36388 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_target.dart
@@ -822,13 +822,14 @@
 /// arguments.
 Constructor defaultSuperConstructor(Class cls) {
   Class superclass = cls.superclass;
-  if (superclass != null) {
-    for (Constructor constructor in superclass.constructors) {
-      if (constructor.name.name.isEmpty) {
-        return constructor.function.requiredParameterCount == 0
-            ? constructor
-            : null;
-      }
+  while (superclass != null && superclass.isMixinApplication) {
+    superclass = superclass.superclass;
+  }
+  for (Constructor constructor in superclass.constructors) {
+    if (constructor.name.name.isEmpty) {
+      return constructor.function.requiredParameterCount == 0
+          ? constructor
+          : null;
     }
   }
   return null;
diff --git a/pkg/front_end/testcases/bug33099.dart.strong.expect b/pkg/front_end/testcases/bug33099.dart.strong.expect
index c745439..4293417 100644
--- a/pkg/front_end/testcases/bug33099.dart.strong.expect
+++ b/pkg/front_end/testcases/bug33099.dart.strong.expect
@@ -22,7 +22,7 @@
 }
 class MyTest2 extends self::_MyTest2&Object&MyTest {
   synthetic constructor •() → self::MyTest2
-    : super self::_MyTest2&Object&MyTest::•()
+    : super core::Object::•()
     ;
 }
 static const field self::_FailingTest failingTest = const self::_FailingTest::•();
diff --git a/pkg/front_end/testcases/bug33099.dart.strong.transformed.expect b/pkg/front_end/testcases/bug33099.dart.strong.transformed.expect
index a2f4a98..a8c371a 100644
--- a/pkg/front_end/testcases/bug33099.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/bug33099.dart.strong.transformed.expect
@@ -24,7 +24,7 @@
 }
 class MyTest2 extends self::_MyTest2&Object&MyTest {
   synthetic constructor •() → self::MyTest2
-    : super self::_MyTest2&Object&MyTest::•()
+    : super core::Object::•()
     ;
 }
 static const field self::_FailingTest failingTest = const self::_FailingTest::•();
diff --git a/pkg/front_end/testcases/bug34511.dart.legacy.expect b/pkg/front_end/testcases/bug34511.dart.legacy.expect
index c3b2cc5..ebad4e6 100644
--- a/pkg/front_end/testcases/bug34511.dart.legacy.expect
+++ b/pkg/front_end/testcases/bug34511.dart.legacy.expect
@@ -14,7 +14,7 @@
 }
 class B<Z extends core::Object = dynamic> extends self::_B&Object&A<self::B::Z> {
   synthetic constructor •() → self::B<self::B::Z>
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/bug34511.dart.legacy.transformed.expect b/pkg/front_end/testcases/bug34511.dart.legacy.transformed.expect
index 2f2a19d..739a1e4 100644
--- a/pkg/front_end/testcases/bug34511.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/bug34511.dart.legacy.transformed.expect
@@ -14,7 +14,7 @@
 }
 class B<Z extends core::Object = dynamic> extends self::_B&Object&A<self::B::Z> {
   synthetic constructor •() → self::B<self::B::Z>
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/bug34511.dart.strong.expect b/pkg/front_end/testcases/bug34511.dart.strong.expect
index c3b2cc5..ebad4e6 100644
--- a/pkg/front_end/testcases/bug34511.dart.strong.expect
+++ b/pkg/front_end/testcases/bug34511.dart.strong.expect
@@ -14,7 +14,7 @@
 }
 class B<Z extends core::Object = dynamic> extends self::_B&Object&A<self::B::Z> {
   synthetic constructor •() → self::B<self::B::Z>
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/bug34511.dart.strong.transformed.expect b/pkg/front_end/testcases/bug34511.dart.strong.transformed.expect
index 2f2a19d..739a1e4 100644
--- a/pkg/front_end/testcases/bug34511.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/bug34511.dart.strong.transformed.expect
@@ -14,7 +14,7 @@
 }
 class B<Z extends core::Object = dynamic> extends self::_B&Object&A<self::B::Z> {
   synthetic constructor •() → self::B<self::B::Z>
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/clone_function_type.dart.legacy.expect b/pkg/front_end/testcases/clone_function_type.dart.legacy.expect
index 52b22ab..a1b55e6 100644
--- a/pkg/front_end/testcases/clone_function_type.dart.legacy.expect
+++ b/pkg/front_end/testcases/clone_function_type.dart.legacy.expect
@@ -76,7 +76,7 @@
 }
 class Bm1<Z extends core::Object = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z> {
   synthetic constructor •() → self::Bm1<self::Bm1::Z>
-    : super self::_Bm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Cm1&Object&Am1::Z> {
@@ -86,7 +86,7 @@
 }
 class Cm1<Z extends core::Object = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z> {
   synthetic constructor •() → self::Cm1<self::Cm1::Z>
-    : super self::_Cm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → core::int, self::_Dm1&Object&Am1::Z> {
@@ -96,7 +96,7 @@
 }
 class Dm1<Z extends core::Object = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z> {
   synthetic constructor •() → self::Dm1<self::Dm1::Z>
-    : super self::_Dm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → dynamic, self::_Em1&Object&Am1::Z> {
@@ -106,7 +106,7 @@
 }
 class Em1<Z extends core::Object = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z> {
   synthetic constructor •() → self::Em1<self::Em1::Z>
-    : super self::_Em1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → dynamic, self::_Fm1&Object&Am1::Z> {
@@ -116,7 +116,7 @@
 }
 class Fm1<Z extends core::Object = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z> {
   synthetic constructor •() → self::Fm1<self::Fm1::Z>
-    : super self::_Fm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<({x: core::int}) → dynamic, self::_Gm1&Object&Am1::Z> {
@@ -126,7 +126,7 @@
 }
 class Gm1<Z extends core::Object = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z> {
   synthetic constructor •() → self::Gm1<self::Gm1::Z>
-    : super self::_Gm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<([core::int]) → dynamic, self::_Hm1&Object&Am1::Z> {
@@ -136,7 +136,7 @@
 }
 class Hm1<Z extends core::Object = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z> {
   synthetic constructor •() → self::Hm1<self::Hm1::Z>
-    : super self::_Hm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<([core::int]) → dynamic, self::_Im1&Object&Am1::Z> {
@@ -146,7 +146,7 @@
 }
 class Im1<Z extends core::Object = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z> {
   synthetic constructor •() → self::Im1<self::Im1::Z>
-    : super self::_Im1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<core::Function, self::_Jm1&Object&Am1::Z> {
@@ -156,7 +156,7 @@
 }
 class Jm1<Z extends core::Object = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z> {
   synthetic constructor •() → self::Jm1<self::Jm1::Z>
-    : super self::_Jm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::Function) → dynamic, self::_Km1&Object&Am1::Z> {
@@ -166,7 +166,7 @@
 }
 class Km1<Z extends core::Object = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z> {
   synthetic constructor •() → self::Km1<self::Km1::Z>
-    : super self::_Km1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → (() → core::Function) → dynamic, self::_Lm1&Object&Am1::Z> {
@@ -176,7 +176,7 @@
 }
 class Lm1<Z extends core::Object = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z> {
   synthetic constructor •() → self::Lm1<self::Lm1::Z>
-    : super self::_Lm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 class Mm1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::Mm1::Z> {
@@ -246,7 +246,7 @@
 }
 class Bm2<Z extends core::Object = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z> {
   synthetic constructor •() → self::Bm2<self::Bm2::Z>
-    : super self::_Bm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Cm2&Object&Am2::Z> {
@@ -256,7 +256,7 @@
 }
 class Cm2<Z extends core::Object = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z> {
   synthetic constructor •() → self::Cm2<self::Cm2::Z>
-    : super self::_Cm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → core::int, self::_Dm2&Object&Am2::Z> {
@@ -266,7 +266,7 @@
 }
 class Dm2<Z extends core::Object = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z> {
   synthetic constructor •() → self::Dm2<self::Dm2::Z>
-    : super self::_Dm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → dynamic, self::_Em2&Object&Am2::Z> {
@@ -276,7 +276,7 @@
 }
 class Em2<Z extends core::Object = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z> {
   synthetic constructor •() → self::Em2<self::Em2::Z>
-    : super self::_Em2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → dynamic, self::_Fm2&Object&Am2::Z> {
@@ -286,7 +286,7 @@
 }
 class Fm2<Z extends core::Object = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z> {
   synthetic constructor •() → self::Fm2<self::Fm2::Z>
-    : super self::_Fm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<({x: core::int}) → dynamic, self::_Gm2&Object&Am2::Z> {
@@ -296,7 +296,7 @@
 }
 class Gm2<Z extends core::Object = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z> {
   synthetic constructor •() → self::Gm2<self::Gm2::Z>
-    : super self::_Gm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<([core::int]) → dynamic, self::_Hm2&Object&Am2::Z> {
@@ -306,7 +306,7 @@
 }
 class Hm2<Z extends core::Object = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z> {
   synthetic constructor •() → self::Hm2<self::Hm2::Z>
-    : super self::_Hm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<([core::int]) → dynamic, self::_Im2&Object&Am2::Z> {
@@ -316,7 +316,7 @@
 }
 class Im2<Z extends core::Object = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z> {
   synthetic constructor •() → self::Im2<self::Im2::Z>
-    : super self::_Im2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<core::Function, self::_Jm2&Object&Am2::Z> {
@@ -326,7 +326,7 @@
 }
 class Jm2<Z extends core::Object = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z> {
   synthetic constructor •() → self::Jm2<self::Jm2::Z>
-    : super self::_Jm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::Function) → dynamic, self::_Km2&Object&Am2::Z> {
@@ -336,7 +336,7 @@
 }
 class Km2<Z extends core::Object = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z> {
   synthetic constructor •() → self::Km2<self::Km2::Z>
-    : super self::_Km2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → (() → core::Function) → dynamic, self::_Lm2&Object&Am2::Z> {
@@ -346,7 +346,7 @@
 }
 class Lm2<Z extends core::Object = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z> {
   synthetic constructor •() → self::Lm2<self::Lm2::Z>
-    : super self::_Lm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 class Mm2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::Mm2::Z> {
@@ -416,7 +416,7 @@
 }
 class Bm3<Z extends core::Object = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z> {
   synthetic constructor •() → self::Bm3<self::Bm3::Z>
-    : super self::_Bm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Cm3&Object&Am3::Z> {
@@ -426,7 +426,7 @@
 }
 class Cm3<Z extends core::Object = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z> {
   synthetic constructor •() → self::Cm3<self::Cm3::Z>
-    : super self::_Cm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → core::int, self::_Dm3&Object&Am3::Z> {
@@ -436,7 +436,7 @@
 }
 class Dm3<Z extends core::Object = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z> {
   synthetic constructor •() → self::Dm3<self::Dm3::Z>
-    : super self::_Dm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → dynamic, self::_Em3&Object&Am3::Z> {
@@ -446,7 +446,7 @@
 }
 class Em3<Z extends core::Object = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z> {
   synthetic constructor •() → self::Em3<self::Em3::Z>
-    : super self::_Em3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → dynamic, self::_Fm3&Object&Am3::Z> {
@@ -456,7 +456,7 @@
 }
 class Fm3<Z extends core::Object = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z> {
   synthetic constructor •() → self::Fm3<self::Fm3::Z>
-    : super self::_Fm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<({x: core::int}) → dynamic, self::_Gm3&Object&Am3::Z> {
@@ -466,7 +466,7 @@
 }
 class Gm3<Z extends core::Object = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z> {
   synthetic constructor •() → self::Gm3<self::Gm3::Z>
-    : super self::_Gm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<([core::int]) → dynamic, self::_Hm3&Object&Am3::Z> {
@@ -476,7 +476,7 @@
 }
 class Hm3<Z extends core::Object = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z> {
   synthetic constructor •() → self::Hm3<self::Hm3::Z>
-    : super self::_Hm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<([core::int]) → dynamic, self::_Im3&Object&Am3::Z> {
@@ -486,7 +486,7 @@
 }
 class Im3<Z extends core::Object = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z> {
   synthetic constructor •() → self::Im3<self::Im3::Z>
-    : super self::_Im3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<(core::Function) → dynamic, self::_Jm3&Object&Am3::Z> {
@@ -496,7 +496,7 @@
 }
 class Jm3<Z extends core::Object = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z> {
   synthetic constructor •() → self::Jm3<self::Jm3::Z>
-    : super self::_Jm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → (() → core::Function) → dynamic, self::_Km3&Object&Am3::Z> {
@@ -506,7 +506,7 @@
 }
 class Km3<Z extends core::Object = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z> {
   synthetic constructor •() → self::Km3<self::Km3::Z>
-    : super self::_Km3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 class Af1<X extends (core::int) → dynamic = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/clone_function_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/clone_function_type.dart.legacy.transformed.expect
index e33af86..8508c16 100644
--- a/pkg/front_end/testcases/clone_function_type.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/clone_function_type.dart.legacy.transformed.expect
@@ -50,7 +50,7 @@
 }
 class Bm1<Z extends core::Object = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z> {
   synthetic constructor •() → self::Bm1<self::Bm1::Z>
-    : super self::_Bm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::_Cm1&Object&Am1::Z> {
@@ -60,7 +60,7 @@
 }
 class Cm1<Z extends core::Object = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z> {
   synthetic constructor •() → self::Cm1<self::Cm1::Z>
-    : super self::_Cm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → core::int, self::_Dm1&Object&Am1::Z> {
@@ -70,7 +70,7 @@
 }
 class Dm1<Z extends core::Object = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z> {
   synthetic constructor •() → self::Dm1<self::Dm1::Z>
-    : super self::_Dm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → dynamic, self::_Em1&Object&Am1::Z> {
@@ -80,7 +80,7 @@
 }
 class Em1<Z extends core::Object = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z> {
   synthetic constructor •() → self::Em1<self::Em1::Z>
-    : super self::_Em1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → dynamic, self::_Fm1&Object&Am1::Z> {
@@ -90,7 +90,7 @@
 }
 class Fm1<Z extends core::Object = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z> {
   synthetic constructor •() → self::Fm1<self::Fm1::Z>
-    : super self::_Fm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<({x: core::int}) → dynamic, self::_Gm1&Object&Am1::Z> {
@@ -100,7 +100,7 @@
 }
 class Gm1<Z extends core::Object = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z> {
   synthetic constructor •() → self::Gm1<self::Gm1::Z>
-    : super self::_Gm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<([core::int]) → dynamic, self::_Hm1&Object&Am1::Z> {
@@ -110,7 +110,7 @@
 }
 class Hm1<Z extends core::Object = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z> {
   synthetic constructor •() → self::Hm1<self::Hm1::Z>
-    : super self::_Hm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<([core::int]) → dynamic, self::_Im1&Object&Am1::Z> {
@@ -120,7 +120,7 @@
 }
 class Im1<Z extends core::Object = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z> {
   synthetic constructor •() → self::Im1<self::Im1::Z>
-    : super self::_Im1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<core::Function, self::_Jm1&Object&Am1::Z> {
@@ -130,7 +130,7 @@
 }
 class Jm1<Z extends core::Object = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z> {
   synthetic constructor •() → self::Jm1<self::Jm1::Z>
-    : super self::_Jm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::Function) → dynamic, self::_Km1&Object&Am1::Z> {
@@ -140,7 +140,7 @@
 }
 class Km1<Z extends core::Object = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z> {
   synthetic constructor •() → self::Km1<self::Km1::Z>
-    : super self::_Km1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → (() → core::Function) → dynamic, self::_Lm1&Object&Am1::Z> {
@@ -150,7 +150,7 @@
 }
 class Lm1<Z extends core::Object = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z> {
   synthetic constructor •() → self::Lm1<self::Lm1::Z>
-    : super self::_Lm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 class Mm1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::Mm1::Z> {
@@ -220,7 +220,7 @@
 }
 class Bm2<Z extends core::Object = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z> {
   synthetic constructor •() → self::Bm2<self::Bm2::Z>
-    : super self::_Bm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::_Cm2&Object&Am2::Z> {
@@ -230,7 +230,7 @@
 }
 class Cm2<Z extends core::Object = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z> {
   synthetic constructor •() → self::Cm2<self::Cm2::Z>
-    : super self::_Cm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → core::int, self::_Dm2&Object&Am2::Z> {
@@ -240,7 +240,7 @@
 }
 class Dm2<Z extends core::Object = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z> {
   synthetic constructor •() → self::Dm2<self::Dm2::Z>
-    : super self::_Dm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → dynamic, self::_Em2&Object&Am2::Z> {
@@ -250,7 +250,7 @@
 }
 class Em2<Z extends core::Object = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z> {
   synthetic constructor •() → self::Em2<self::Em2::Z>
-    : super self::_Em2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → dynamic, self::_Fm2&Object&Am2::Z> {
@@ -260,7 +260,7 @@
 }
 class Fm2<Z extends core::Object = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z> {
   synthetic constructor •() → self::Fm2<self::Fm2::Z>
-    : super self::_Fm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<({x: core::int}) → dynamic, self::_Gm2&Object&Am2::Z> {
@@ -270,7 +270,7 @@
 }
 class Gm2<Z extends core::Object = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z> {
   synthetic constructor •() → self::Gm2<self::Gm2::Z>
-    : super self::_Gm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<([core::int]) → dynamic, self::_Hm2&Object&Am2::Z> {
@@ -280,7 +280,7 @@
 }
 class Hm2<Z extends core::Object = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z> {
   synthetic constructor •() → self::Hm2<self::Hm2::Z>
-    : super self::_Hm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<([core::int]) → dynamic, self::_Im2&Object&Am2::Z> {
@@ -290,7 +290,7 @@
 }
 class Im2<Z extends core::Object = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z> {
   synthetic constructor •() → self::Im2<self::Im2::Z>
-    : super self::_Im2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<core::Function, self::_Jm2&Object&Am2::Z> {
@@ -300,7 +300,7 @@
 }
 class Jm2<Z extends core::Object = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z> {
   synthetic constructor •() → self::Jm2<self::Jm2::Z>
-    : super self::_Jm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::Function) → dynamic, self::_Km2&Object&Am2::Z> {
@@ -310,7 +310,7 @@
 }
 class Km2<Z extends core::Object = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z> {
   synthetic constructor •() → self::Km2<self::Km2::Z>
-    : super self::_Km2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → (() → core::Function) → dynamic, self::_Lm2&Object&Am2::Z> {
@@ -320,7 +320,7 @@
 }
 class Lm2<Z extends core::Object = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z> {
   synthetic constructor •() → self::Lm2<self::Lm2::Z>
-    : super self::_Lm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 class Mm2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::Mm2::Z> {
@@ -390,7 +390,7 @@
 }
 class Bm3<Z extends core::Object = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z> {
   synthetic constructor •() → self::Bm3<self::Bm3::Z>
-    : super self::_Bm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<(core::int) → dynamic, self::_Cm3&Object&Am3::Z> {
@@ -400,7 +400,7 @@
 }
 class Cm3<Z extends core::Object = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z> {
   synthetic constructor •() → self::Cm3<self::Cm3::Z>
-    : super self::_Cm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → core::int, self::_Dm3&Object&Am3::Z> {
@@ -410,7 +410,7 @@
 }
 class Dm3<Z extends core::Object = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z> {
   synthetic constructor •() → self::Dm3<self::Dm3::Z>
-    : super self::_Dm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → dynamic, self::_Em3&Object&Am3::Z> {
@@ -420,7 +420,7 @@
 }
 class Em3<Z extends core::Object = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z> {
   synthetic constructor •() → self::Em3<self::Em3::Z>
-    : super self::_Em3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → dynamic, self::_Fm3&Object&Am3::Z> {
@@ -430,7 +430,7 @@
 }
 class Fm3<Z extends core::Object = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z> {
   synthetic constructor •() → self::Fm3<self::Fm3::Z>
-    : super self::_Fm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<({x: core::int}) → dynamic, self::_Gm3&Object&Am3::Z> {
@@ -440,7 +440,7 @@
 }
 class Gm3<Z extends core::Object = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z> {
   synthetic constructor •() → self::Gm3<self::Gm3::Z>
-    : super self::_Gm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<([core::int]) → dynamic, self::_Hm3&Object&Am3::Z> {
@@ -450,7 +450,7 @@
 }
 class Hm3<Z extends core::Object = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z> {
   synthetic constructor •() → self::Hm3<self::Hm3::Z>
-    : super self::_Hm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<([core::int]) → dynamic, self::_Im3&Object&Am3::Z> {
@@ -460,7 +460,7 @@
 }
 class Im3<Z extends core::Object = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z> {
   synthetic constructor •() → self::Im3<self::Im3::Z>
-    : super self::_Im3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<(core::Function) → dynamic, self::_Jm3&Object&Am3::Z> {
@@ -470,7 +470,7 @@
 }
 class Jm3<Z extends core::Object = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z> {
   synthetic constructor •() → self::Jm3<self::Jm3::Z>
-    : super self::_Jm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → (() → core::Function) → dynamic, self::_Km3&Object&Am3::Z> {
@@ -480,7 +480,7 @@
 }
 class Km3<Z extends core::Object = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z> {
   synthetic constructor •() → self::Km3<self::Km3::Z>
-    : super self::_Km3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 class Af1<X extends (core::int) → dynamic = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/clone_function_type.dart.strong.expect b/pkg/front_end/testcases/clone_function_type.dart.strong.expect
index 5b19c6c..ae0741e 100644
--- a/pkg/front_end/testcases/clone_function_type.dart.strong.expect
+++ b/pkg/front_end/testcases/clone_function_type.dart.strong.expect
@@ -188,7 +188,7 @@
 }
 class Bm1<Z extends core::Object = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z> {
   synthetic constructor •() → self::Bm1<self::Bm1::Z>
-    : super self::_Bm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::_Cm1&Object&Am1::Z> {
@@ -198,7 +198,7 @@
 }
 class Cm1<Z extends core::Object = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z> {
   synthetic constructor •() → self::Cm1<self::Cm1::Z>
-    : super self::_Cm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → core::int, self::_Dm1&Object&Am1::Z> {
@@ -208,7 +208,7 @@
 }
 class Dm1<Z extends core::Object = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z> {
   synthetic constructor •() → self::Dm1<self::Dm1::Z>
-    : super self::_Dm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → dynamic, self::_Em1&Object&Am1::Z> {
@@ -218,7 +218,7 @@
 }
 class Em1<Z extends core::Object = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z> {
   synthetic constructor •() → self::Em1<self::Em1::Z>
-    : super self::_Em1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → dynamic, self::_Fm1&Object&Am1::Z> {
@@ -228,7 +228,7 @@
 }
 class Fm1<Z extends core::Object = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z> {
   synthetic constructor •() → self::Fm1<self::Fm1::Z>
-    : super self::_Fm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<({x: core::int}) → dynamic, self::_Gm1&Object&Am1::Z> {
@@ -238,7 +238,7 @@
 }
 class Gm1<Z extends core::Object = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z> {
   synthetic constructor •() → self::Gm1<self::Gm1::Z>
-    : super self::_Gm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<([core::int]) → dynamic, self::_Hm1&Object&Am1::Z> {
@@ -248,7 +248,7 @@
 }
 class Hm1<Z extends core::Object = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z> {
   synthetic constructor •() → self::Hm1<self::Hm1::Z>
-    : super self::_Hm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<([core::int]) → dynamic, self::_Im1&Object&Am1::Z> {
@@ -258,7 +258,7 @@
 }
 class Im1<Z extends core::Object = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z> {
   synthetic constructor •() → self::Im1<self::Im1::Z>
-    : super self::_Im1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<core::Function, self::_Jm1&Object&Am1::Z> {
@@ -268,7 +268,7 @@
 }
 class Jm1<Z extends core::Object = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z> {
   synthetic constructor •() → self::Jm1<self::Jm1::Z>
-    : super self::_Jm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::Function) → dynamic, self::_Km1&Object&Am1::Z> {
@@ -278,7 +278,7 @@
 }
 class Km1<Z extends core::Object = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z> {
   synthetic constructor •() → self::Km1<self::Km1::Z>
-    : super self::_Km1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm1&Object&Am1<Z extends core::Object = dynamic> = core::Object with self::Am1<() → (() → core::Function) → dynamic, self::_Lm1&Object&Am1::Z> {
@@ -288,7 +288,7 @@
 }
 class Lm1<Z extends core::Object = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z> {
   synthetic constructor •() → self::Lm1<self::Lm1::Z>
-    : super self::_Lm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 class Mm1<Z extends core::Object = dynamic> = core::Object with self::Am1<(core::int) → dynamic, self::Mm1::Z> {
@@ -358,7 +358,7 @@
 }
 class Bm2<Z extends core::Object = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z> {
   synthetic constructor •() → self::Bm2<self::Bm2::Z>
-    : super self::_Bm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::_Cm2&Object&Am2::Z> {
@@ -368,7 +368,7 @@
 }
 class Cm2<Z extends core::Object = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z> {
   synthetic constructor •() → self::Cm2<self::Cm2::Z>
-    : super self::_Cm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → core::int, self::_Dm2&Object&Am2::Z> {
@@ -378,7 +378,7 @@
 }
 class Dm2<Z extends core::Object = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z> {
   synthetic constructor •() → self::Dm2<self::Dm2::Z>
-    : super self::_Dm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → dynamic, self::_Em2&Object&Am2::Z> {
@@ -388,7 +388,7 @@
 }
 class Em2<Z extends core::Object = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z> {
   synthetic constructor •() → self::Em2<self::Em2::Z>
-    : super self::_Em2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → dynamic, self::_Fm2&Object&Am2::Z> {
@@ -398,7 +398,7 @@
 }
 class Fm2<Z extends core::Object = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z> {
   synthetic constructor •() → self::Fm2<self::Fm2::Z>
-    : super self::_Fm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<({x: core::int}) → dynamic, self::_Gm2&Object&Am2::Z> {
@@ -408,7 +408,7 @@
 }
 class Gm2<Z extends core::Object = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z> {
   synthetic constructor •() → self::Gm2<self::Gm2::Z>
-    : super self::_Gm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<([core::int]) → dynamic, self::_Hm2&Object&Am2::Z> {
@@ -418,7 +418,7 @@
 }
 class Hm2<Z extends core::Object = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z> {
   synthetic constructor •() → self::Hm2<self::Hm2::Z>
-    : super self::_Hm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<([core::int]) → dynamic, self::_Im2&Object&Am2::Z> {
@@ -428,7 +428,7 @@
 }
 class Im2<Z extends core::Object = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z> {
   synthetic constructor •() → self::Im2<self::Im2::Z>
-    : super self::_Im2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<core::Function, self::_Jm2&Object&Am2::Z> {
@@ -438,7 +438,7 @@
 }
 class Jm2<Z extends core::Object = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z> {
   synthetic constructor •() → self::Jm2<self::Jm2::Z>
-    : super self::_Jm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::Function) → dynamic, self::_Km2&Object&Am2::Z> {
@@ -448,7 +448,7 @@
 }
 class Km2<Z extends core::Object = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z> {
   synthetic constructor •() → self::Km2<self::Km2::Z>
-    : super self::_Km2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm2&Object&Am2<Z extends core::Object = dynamic> = core::Object with self::Am2<() → (() → core::Function) → dynamic, self::_Lm2&Object&Am2::Z> {
@@ -458,7 +458,7 @@
 }
 class Lm2<Z extends core::Object = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z> {
   synthetic constructor •() → self::Lm2<self::Lm2::Z>
-    : super self::_Lm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 class Mm2<Z extends core::Object = dynamic> = core::Object with self::Am2<(core::int) → dynamic, self::Mm2::Z> {
@@ -528,7 +528,7 @@
 }
 class Bm3<Z extends core::Object = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z> {
   synthetic constructor •() → self::Bm3<self::Bm3::Z>
-    : super self::_Bm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<(core::int) → dynamic, self::_Cm3&Object&Am3::Z> {
@@ -538,7 +538,7 @@
 }
 class Cm3<Z extends core::Object = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z> {
   synthetic constructor •() → self::Cm3<self::Cm3::Z>
-    : super self::_Cm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → core::int, self::_Dm3&Object&Am3::Z> {
@@ -548,7 +548,7 @@
 }
 class Dm3<Z extends core::Object = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z> {
   synthetic constructor •() → self::Dm3<self::Dm3::Z>
-    : super self::_Dm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → dynamic, self::_Em3&Object&Am3::Z> {
@@ -558,7 +558,7 @@
 }
 class Em3<Z extends core::Object = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z> {
   synthetic constructor •() → self::Em3<self::Em3::Z>
-    : super self::_Em3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → dynamic, self::_Fm3&Object&Am3::Z> {
@@ -568,7 +568,7 @@
 }
 class Fm3<Z extends core::Object = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z> {
   synthetic constructor •() → self::Fm3<self::Fm3::Z>
-    : super self::_Fm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<({x: core::int}) → dynamic, self::_Gm3&Object&Am3::Z> {
@@ -578,7 +578,7 @@
 }
 class Gm3<Z extends core::Object = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z> {
   synthetic constructor •() → self::Gm3<self::Gm3::Z>
-    : super self::_Gm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<([core::int]) → dynamic, self::_Hm3&Object&Am3::Z> {
@@ -588,7 +588,7 @@
 }
 class Hm3<Z extends core::Object = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z> {
   synthetic constructor •() → self::Hm3<self::Hm3::Z>
-    : super self::_Hm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<([core::int]) → dynamic, self::_Im3&Object&Am3::Z> {
@@ -598,7 +598,7 @@
 }
 class Im3<Z extends core::Object = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z> {
   synthetic constructor •() → self::Im3<self::Im3::Z>
-    : super self::_Im3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<(core::Function) → dynamic, self::_Jm3&Object&Am3::Z> {
@@ -608,7 +608,7 @@
 }
 class Jm3<Z extends core::Object = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z> {
   synthetic constructor •() → self::Jm3<self::Jm3::Z>
-    : super self::_Jm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km3&Object&Am3<Z extends core::Object = dynamic> = core::Object with self::Am3<() → (() → core::Function) → dynamic, self::_Km3&Object&Am3::Z> {
@@ -618,7 +618,7 @@
 }
 class Km3<Z extends core::Object = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z> {
   synthetic constructor •() → self::Km3<self::Km3::Z>
-    : super self::_Km3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 class Af1<X extends (core::int) → dynamic = (core::int) → dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/clone_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/clone_function_type.dart.strong.transformed.expect
index 78889cf..22d08e5 100644
--- a/pkg/front_end/testcases/clone_function_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/clone_function_type.dart.strong.transformed.expect
@@ -94,7 +94,7 @@
 }
 class Bm1<Z extends core::Object = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z> {
   synthetic constructor •() → self::Bm1<self::Bm1::Z>
-    : super self::_Bm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::_Cm1&Object&Am1::Z> {
@@ -104,7 +104,7 @@
 }
 class Cm1<Z extends core::Object = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z> {
   synthetic constructor •() → self::Cm1<self::Cm1::Z>
-    : super self::_Cm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → core::int, self::_Dm1&Object&Am1::Z> {
@@ -114,7 +114,7 @@
 }
 class Dm1<Z extends core::Object = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z> {
   synthetic constructor •() → self::Dm1<self::Dm1::Z>
-    : super self::_Dm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → dynamic, self::_Em1&Object&Am1::Z> {
@@ -124,7 +124,7 @@
 }
 class Em1<Z extends core::Object = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z> {
   synthetic constructor •() → self::Em1<self::Em1::Z>
-    : super self::_Em1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → dynamic, self::_Fm1&Object&Am1::Z> {
@@ -134,7 +134,7 @@
 }
 class Fm1<Z extends core::Object = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z> {
   synthetic constructor •() → self::Fm1<self::Fm1::Z>
-    : super self::_Fm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<({x: core::int}) → dynamic, self::_Gm1&Object&Am1::Z> {
@@ -144,7 +144,7 @@
 }
 class Gm1<Z extends core::Object = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z> {
   synthetic constructor •() → self::Gm1<self::Gm1::Z>
-    : super self::_Gm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<([core::int]) → dynamic, self::_Hm1&Object&Am1::Z> {
@@ -154,7 +154,7 @@
 }
 class Hm1<Z extends core::Object = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z> {
   synthetic constructor •() → self::Hm1<self::Hm1::Z>
-    : super self::_Hm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<([core::int]) → dynamic, self::_Im1&Object&Am1::Z> {
@@ -164,7 +164,7 @@
 }
 class Im1<Z extends core::Object = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z> {
   synthetic constructor •() → self::Im1<self::Im1::Z>
-    : super self::_Im1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<core::Function, self::_Jm1&Object&Am1::Z> {
@@ -174,7 +174,7 @@
 }
 class Jm1<Z extends core::Object = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z> {
   synthetic constructor •() → self::Jm1<self::Jm1::Z>
-    : super self::_Jm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::Function) → dynamic, self::_Km1&Object&Am1::Z> {
@@ -184,7 +184,7 @@
 }
 class Km1<Z extends core::Object = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z> {
   synthetic constructor •() → self::Km1<self::Km1::Z>
-    : super self::_Km1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm1&Object&Am1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<() → (() → core::Function) → dynamic, self::_Lm1&Object&Am1::Z> {
@@ -194,7 +194,7 @@
 }
 class Lm1<Z extends core::Object = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z> {
   synthetic constructor •() → self::Lm1<self::Lm1::Z>
-    : super self::_Lm1&Object&Am1::•()
+    : super core::Object::•()
     ;
 }
 class Mm1<Z extends core::Object = dynamic> extends core::Object implements self::Am1<(core::int) → dynamic, self::Mm1::Z> {
@@ -264,7 +264,7 @@
 }
 class Bm2<Z extends core::Object = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z> {
   synthetic constructor •() → self::Bm2<self::Bm2::Z>
-    : super self::_Bm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::_Cm2&Object&Am2::Z> {
@@ -274,7 +274,7 @@
 }
 class Cm2<Z extends core::Object = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z> {
   synthetic constructor •() → self::Cm2<self::Cm2::Z>
-    : super self::_Cm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → core::int, self::_Dm2&Object&Am2::Z> {
@@ -284,7 +284,7 @@
 }
 class Dm2<Z extends core::Object = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z> {
   synthetic constructor •() → self::Dm2<self::Dm2::Z>
-    : super self::_Dm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → dynamic, self::_Em2&Object&Am2::Z> {
@@ -294,7 +294,7 @@
 }
 class Em2<Z extends core::Object = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z> {
   synthetic constructor •() → self::Em2<self::Em2::Z>
-    : super self::_Em2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → dynamic, self::_Fm2&Object&Am2::Z> {
@@ -304,7 +304,7 @@
 }
 class Fm2<Z extends core::Object = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z> {
   synthetic constructor •() → self::Fm2<self::Fm2::Z>
-    : super self::_Fm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<({x: core::int}) → dynamic, self::_Gm2&Object&Am2::Z> {
@@ -314,7 +314,7 @@
 }
 class Gm2<Z extends core::Object = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z> {
   synthetic constructor •() → self::Gm2<self::Gm2::Z>
-    : super self::_Gm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<([core::int]) → dynamic, self::_Hm2&Object&Am2::Z> {
@@ -324,7 +324,7 @@
 }
 class Hm2<Z extends core::Object = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z> {
   synthetic constructor •() → self::Hm2<self::Hm2::Z>
-    : super self::_Hm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<([core::int]) → dynamic, self::_Im2&Object&Am2::Z> {
@@ -334,7 +334,7 @@
 }
 class Im2<Z extends core::Object = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z> {
   synthetic constructor •() → self::Im2<self::Im2::Z>
-    : super self::_Im2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<core::Function, self::_Jm2&Object&Am2::Z> {
@@ -344,7 +344,7 @@
 }
 class Jm2<Z extends core::Object = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z> {
   synthetic constructor •() → self::Jm2<self::Jm2::Z>
-    : super self::_Jm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::Function) → dynamic, self::_Km2&Object&Am2::Z> {
@@ -354,7 +354,7 @@
 }
 class Km2<Z extends core::Object = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z> {
   synthetic constructor •() → self::Km2<self::Km2::Z>
-    : super self::_Km2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Lm2&Object&Am2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<() → (() → core::Function) → dynamic, self::_Lm2&Object&Am2::Z> {
@@ -364,7 +364,7 @@
 }
 class Lm2<Z extends core::Object = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z> {
   synthetic constructor •() → self::Lm2<self::Lm2::Z>
-    : super self::_Lm2&Object&Am2::•()
+    : super core::Object::•()
     ;
 }
 class Mm2<Z extends core::Object = dynamic> extends core::Object implements self::Am2<(core::int) → dynamic, self::Mm2::Z> {
@@ -434,7 +434,7 @@
 }
 class Bm3<Z extends core::Object = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z> {
   synthetic constructor •() → self::Bm3<self::Bm3::Z>
-    : super self::_Bm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Cm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<(core::int) → dynamic, self::_Cm3&Object&Am3::Z> {
@@ -444,7 +444,7 @@
 }
 class Cm3<Z extends core::Object = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z> {
   synthetic constructor •() → self::Cm3<self::Cm3::Z>
-    : super self::_Cm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Dm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → core::int, self::_Dm3&Object&Am3::Z> {
@@ -454,7 +454,7 @@
 }
 class Dm3<Z extends core::Object = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z> {
   synthetic constructor •() → self::Dm3<self::Dm3::Z>
-    : super self::_Dm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Em3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → dynamic, self::_Em3&Object&Am3::Z> {
@@ -464,7 +464,7 @@
 }
 class Em3<Z extends core::Object = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z> {
   synthetic constructor •() → self::Em3<self::Em3::Z>
-    : super self::_Em3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Fm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → dynamic, self::_Fm3&Object&Am3::Z> {
@@ -474,7 +474,7 @@
 }
 class Fm3<Z extends core::Object = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z> {
   synthetic constructor •() → self::Fm3<self::Fm3::Z>
-    : super self::_Fm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Gm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<({x: core::int}) → dynamic, self::_Gm3&Object&Am3::Z> {
@@ -484,7 +484,7 @@
 }
 class Gm3<Z extends core::Object = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z> {
   synthetic constructor •() → self::Gm3<self::Gm3::Z>
-    : super self::_Gm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Hm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<([core::int]) → dynamic, self::_Hm3&Object&Am3::Z> {
@@ -494,7 +494,7 @@
 }
 class Hm3<Z extends core::Object = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z> {
   synthetic constructor •() → self::Hm3<self::Hm3::Z>
-    : super self::_Hm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Im3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<([core::int]) → dynamic, self::_Im3&Object&Am3::Z> {
@@ -504,7 +504,7 @@
 }
 class Im3<Z extends core::Object = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z> {
   synthetic constructor •() → self::Im3<self::Im3::Z>
-    : super self::_Im3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Jm3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<(core::Function) → dynamic, self::_Jm3&Object&Am3::Z> {
@@ -514,7 +514,7 @@
 }
 class Jm3<Z extends core::Object = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z> {
   synthetic constructor •() → self::Jm3<self::Jm3::Z>
-    : super self::_Jm3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 abstract class _Km3&Object&Am3<Z extends core::Object = dynamic> extends core::Object implements self::Am3<() → (() → core::Function) → dynamic, self::_Km3&Object&Am3::Z> {
@@ -524,7 +524,7 @@
 }
 class Km3<Z extends core::Object = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z> {
   synthetic constructor •() → self::Km3<self::Km3::Z>
-    : super self::_Km3&Object&Am3::•()
+    : super core::Object::•()
     ;
 }
 class Af1<X extends (core::int) → dynamic = (core::int) → dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
index bd70fa0..cb3988f 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.expect
@@ -47,7 +47,7 @@
 class G extends self::_G&Object&B {
   field dynamic x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
index e3ffc47..c1822ed 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.legacy.transformed.expect
@@ -49,7 +49,7 @@
 class G extends self::_G&Object&B {
   field dynamic x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect
index 5c9403f..fa8f9e8 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect
@@ -47,7 +47,7 @@
 class G extends self::_G&Object&B {
   field core::int x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect
index 10315d8..427dbc2 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect
@@ -49,7 +49,7 @@
 class G extends self::_G&Object&B {
   field core::int x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
index 97bdc20..33c6ea7 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.expect
@@ -46,7 +46,7 @@
 class G extends self::_G&Object&B {
   field dynamic x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
index a8ed431..bf18d3f 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.legacy.transformed.expect
@@ -47,7 +47,7 @@
 class G extends self::_G&Object&B {
   field dynamic x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect
index a2a01da..2b77c7f 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect
@@ -46,7 +46,7 @@
 class G extends self::_G&Object&B {
   field core::int x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect
index 8cf587d..d81e504 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect
@@ -47,7 +47,7 @@
 class G extends self::_G&Object&B {
   field core::int x = null;
   synthetic constructor •() → self::G
-    : super self::_G&Object&B::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect
index 68141d0..18910bd 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.expect
@@ -48,7 +48,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect
index d53ce70..aea6b53 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.legacy.transformed.expect
@@ -36,7 +36,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect
index bfb7b01..1faa3db 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect
index dfd7d1e..7a5e6b5 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect
index b7e2c17..4586536 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.expect
@@ -48,7 +48,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect
index 353900f..fa20027 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.legacy.transformed.expect
@@ -36,7 +36,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect
index db552ee..69818ca 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect
index 6459244..8e64db9 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect
index 751f33d..d68e9c3 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.expect
@@ -48,7 +48,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect
index e98e8f6..db8c3d4 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.legacy.transformed.expect
@@ -36,7 +36,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect
index 7d0cb03..fb8fecd 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect
@@ -43,7 +43,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect
index fe9fd8d..70df06b 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
 }
 class A extends self::_A&M1&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M1&M0::•()
+    : super self::M1::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect
index 1066a51..e617321 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.expect
@@ -63,7 +63,7 @@
 }
 class M0<X extends core::Object = dynamic, Y extends core::Object = dynamic> extends self::_M0&I&J<self::M0::X, self::M0::Y> {
   synthetic constructor •() → self::M0<self::M0::X, self::M0::Y>
-    : super self::_M0&I&J::•()
+    : super self::I::•()
     ;
 }
 class M1 extends core::Object implements self::I<core::int> {
@@ -83,7 +83,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect
index ed90883..b8d669d 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.legacy.transformed.expect
@@ -41,7 +41,7 @@
 }
 class M0<X extends core::Object = dynamic, Y extends core::Object = dynamic> extends self::_M0&I&J<self::M0::X, self::M0::Y> {
   synthetic constructor •() → self::M0<self::M0::X, self::M0::Y>
-    : super self::_M0&I&J::•()
+    : super self::I::•()
     ;
 }
 class M1 extends core::Object implements self::I<core::int> {
@@ -61,7 +61,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect
index 9fe7a0a..517eca6 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect
@@ -19,7 +19,7 @@
 }
 class M0<X extends core::Object = dynamic, Y extends core::Object = dynamic> extends self::_M0&I&J<self::M0::X, self::M0::Y> {
   synthetic constructor •() → self::M0<self::M0::X, self::M0::Y>
-    : super self::_M0&I&J::•()
+    : super self::I::•()
     ;
 }
 class M1 extends core::Object implements self::I<core::int> {
@@ -39,7 +39,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect
index 435ce3b..ac1a5bb 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect
@@ -19,7 +19,7 @@
 }
 class M0<X extends core::Object = dynamic, Y extends core::Object = dynamic> extends self::_M0&I&J<self::M0::X, self::M0::Y> {
   synthetic constructor •() → self::M0<self::M0::X, self::M0::Y>
-    : super self::_M0&I&J::•()
+    : super self::I::•()
     ;
 }
 class M1 extends core::Object implements self::I<core::int> {
@@ -39,7 +39,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect
index 1886407..8a1cc49 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.expect
@@ -61,7 +61,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect
index 41fb098..4a624af 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.legacy.transformed.expect
@@ -45,7 +45,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect
index 1030f6b..36da7e3 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect
@@ -29,7 +29,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect
index 3eabc8f..6199c28 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect
@@ -29,7 +29,7 @@
 }
 class A extends self::_A&M2&M0 {
   synthetic constructor •() → self::A
-    : super self::_A&M2&M0::•()
+    : super self::M2::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect
index bf40fc9..872475c 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.expect
@@ -48,7 +48,7 @@
 }
 class A extends self::_A&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect
index 7a1c8c2..8b45bc6 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.legacy.transformed.expect
@@ -36,7 +36,7 @@
 }
 class A extends self::_A&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect
index b336c68..128fa4a 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect
index 75ebf9d..ec46a13 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect
@@ -24,7 +24,7 @@
 }
 class A extends self::_A&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect
index 231fbf6d..bb07438 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.expect
@@ -68,7 +68,7 @@
 }
 class A extends self::_A&M0&M1&M2 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1&M2::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect
index 6079249..5075370 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.legacy.transformed.expect
@@ -51,7 +51,7 @@
 }
 class A extends self::_A&M0&M1&M2 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1&M2::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect
index d133391..e17639c 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect
@@ -34,7 +34,7 @@
 }
 class A extends self::_A&M0&M1&M2 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1&M2::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect
index d4edaee..37d01dc 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect
@@ -34,7 +34,7 @@
 }
 class A extends self::_A&M0&M1&M2 {
   synthetic constructor •() → self::A
-    : super self::_A&M0&M1&M2::•()
+    : super self::M0::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect
index c581250..0efa321 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.expect
@@ -53,7 +53,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect
index f81e503..cbab346 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.legacy.transformed.expect
@@ -41,7 +41,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect
index c581250..0efa321 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect
@@ -53,7 +53,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect
index 75fb900..4f246b2 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.expect
@@ -43,7 +43,7 @@
 }
 class A extends self::_A&Object&M0&M1 implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect
index 06fa1b8..5b2d65a 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.legacy.transformed.expect
@@ -36,7 +36,7 @@
 }
 class A extends self::_A&Object&M0&M1 implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect
index 75fb900..4f246b2 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect
@@ -43,7 +43,7 @@
 }
 class A extends self::_A&Object&M0&M1 implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect
index d2e6040..136a52f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.expect
@@ -53,7 +53,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect
index a22753f..f4e7416 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.legacy.transformed.expect
@@ -41,7 +41,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect
index d2e6040..136a52f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect
@@ -53,7 +53,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect
index 153ce4a..6107331 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.expect
@@ -57,7 +57,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect
index 826e6a3..7179092 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.legacy.transformed.expect
@@ -43,7 +43,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect
index 153ce4a..6107331 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect
@@ -57,7 +57,7 @@
 }
 class A extends self::_A&Object&M0&M1 {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M0&M1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin.dart.legacy.expect b/pkg/front_end/testcases/mixin.dart.legacy.expect
index c47eaf2..6270bd2 100644
--- a/pkg/front_end/testcases/mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/mixin.dart.legacy.expect
@@ -14,7 +14,7 @@
 }
 class B extends self::_B&Object&M1&M2 {
   constructor •(dynamic value) → self::B
-    : super self::_B&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class M1 extends core::Object {
@@ -43,7 +43,7 @@
 }
 class C extends self::_C&Object&M1&M2 {
   constructor •(dynamic value) → self::C
-    : super self::_C&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class G1<T extends core::Object = dynamic> extends core::Object {
@@ -60,7 +60,7 @@
 }
 class D<S extends core::Object = dynamic> extends self::_D&Object&G1<self::D::S> {
   synthetic constructor •() → self::D<self::D::S>
-    : super self::_D&Object&G1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/mixin.dart.legacy.transformed.expect
index 7af4162..7152f91 100644
--- a/pkg/front_end/testcases/mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/mixin.dart.legacy.transformed.expect
@@ -18,7 +18,7 @@
 }
 class B extends self::_B&Object&M1&M2 {
   constructor •(dynamic value) → self::B
-    : super self::_B&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class M1 extends core::Object {
@@ -51,7 +51,7 @@
 }
 class C extends self::_C&Object&M1&M2 {
   constructor •(dynamic value) → self::C
-    : super self::_C&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class G1<T extends core::Object = dynamic> extends core::Object {
@@ -70,7 +70,7 @@
 }
 class D<S extends core::Object = dynamic> extends self::_D&Object&G1<self::D::S> {
   synthetic constructor •() → self::D<self::D::S>
-    : super self::_D&Object&G1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin.dart.strong.expect b/pkg/front_end/testcases/mixin.dart.strong.expect
index f8971a4..f3bc002 100644
--- a/pkg/front_end/testcases/mixin.dart.strong.expect
+++ b/pkg/front_end/testcases/mixin.dart.strong.expect
@@ -14,7 +14,7 @@
 }
 class B extends self::_B&Object&M1&M2 {
   constructor •(dynamic value) → self::B
-    : super self::_B&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class M1 extends core::Object {
@@ -43,7 +43,7 @@
 }
 class C extends self::_C&Object&M1&M2 {
   constructor •(dynamic value) → self::C
-    : super self::_C&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class G1<T extends core::Object = dynamic> extends core::Object {
@@ -60,7 +60,7 @@
 }
 class D<S extends core::Object = dynamic> extends self::_D&Object&G1<self::D::S> {
   synthetic constructor •() → self::D<self::D::S>
-    : super self::_D&Object&G1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/mixin.dart.strong.transformed.expect
index 13bbc5e..3dff5eb 100644
--- a/pkg/front_end/testcases/mixin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/mixin.dart.strong.transformed.expect
@@ -18,7 +18,7 @@
 }
 class B extends self::_B&Object&M1&M2 {
   constructor •(dynamic value) → self::B
-    : super self::_B&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class M1 extends core::Object {
@@ -51,7 +51,7 @@
 }
 class C extends self::_C&Object&M1&M2 {
   constructor •(dynamic value) → self::C
-    : super self::_C&Object&M1&M2::•()
+    : super core::Object::•()
     ;
 }
 abstract class G1<T extends core::Object = dynamic> extends core::Object {
@@ -70,7 +70,7 @@
 }
 class D<S extends core::Object = dynamic> extends self::_D&Object&G1<self::D::S> {
   synthetic constructor •() → self::D<self::D::S>
-    : super self::_D&Object&G1::•()
+    : super core::Object::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect b/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
index 52129f0..142551c 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.legacy.expect
@@ -233,7 +233,7 @@
 }
 class B0 extends self::_B0&S&M {
   synthetic constructor •() → self::B0
-    : super self::_B0&S&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1&S&M1 = self::S with self::M1 {
@@ -248,7 +248,7 @@
 }
 class B1 extends self::_B1&S&M1&M {
   synthetic constructor •() → self::B1
-    : super self::_B1&S&M1&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2&S&M1 = self::S with self::M1 {
@@ -268,7 +268,7 @@
 }
 class B2 extends self::_B2&S&M1&M2&M {
   synthetic constructor •() → self::B2
-    : super self::_B2&S&M1&M2&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B0X&S&M = self::S with self::M {
@@ -283,7 +283,7 @@
 }
 class B0X extends self::_B0X&S&M&MX {
   synthetic constructor •() → self::B0X
-    : super self::_B0X&S&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1X&S&M1 = self::S with self::M1 {
@@ -303,7 +303,7 @@
 }
 class B1X extends self::_B1X&S&M1&M&MX {
   synthetic constructor •() → self::B1X
-    : super self::_B1X&S&M1&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2X&S&M1 = self::S with self::M1 {
@@ -328,7 +328,7 @@
 }
 class B2X extends self::_B2X&S&M1&M2&M&MX {
   synthetic constructor •() → self::B2X
-    : super self::_B2X&S&M1&M2&M&MX::•()
+    : super self::S::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect b/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
index 381523a..94d1bd7 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.legacy.transformed.expect
@@ -118,7 +118,7 @@
 }
 class B0 extends self::_B0&S&M {
   synthetic constructor •() → self::B0
-    : super self::_B0&S&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1&S&M1 extends self::S implements self::M1 {
@@ -134,7 +134,7 @@
 }
 class B1 extends self::_B1&S&M1&M {
   synthetic constructor •() → self::B1
-    : super self::_B1&S&M1&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2&S&M1 extends self::S implements self::M1 {
@@ -155,7 +155,7 @@
 }
 class B2 extends self::_B2&S&M1&M2&M {
   synthetic constructor •() → self::B2
-    : super self::_B2&S&M1&M2&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B0X&S&M extends self::S implements self::M {
@@ -171,7 +171,7 @@
 }
 class B0X extends self::_B0X&S&M&MX {
   synthetic constructor •() → self::B0X
-    : super self::_B0X&S&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1X&S&M1 extends self::S implements self::M1 {
@@ -192,7 +192,7 @@
 }
 class B1X extends self::_B1X&S&M1&M&MX {
   synthetic constructor •() → self::B1X
-    : super self::_B1X&S&M1&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2X&S&M1 extends self::S implements self::M1 {
@@ -218,7 +218,7 @@
 }
 class B2X extends self::_B2X&S&M1&M2&M&MX {
   synthetic constructor •() → self::B2X
-    : super self::_B2X&S&M1&M2&M&MX::•()
+    : super self::S::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_application_override.dart.strong.expect b/pkg/front_end/testcases/mixin_application_override.dart.strong.expect
index c8c6a90..a25b92f 100644
--- a/pkg/front_end/testcases/mixin_application_override.dart.strong.expect
+++ b/pkg/front_end/testcases/mixin_application_override.dart.strong.expect
@@ -290,7 +290,7 @@
 }
 class B0 extends self::_B0&S&M {
   synthetic constructor •() → self::B0
-    : super self::_B0&S&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1&S&M1 = self::S with self::M1 {
@@ -306,7 +306,7 @@
 }
 class B1 extends self::_B1&S&M1&M {
   synthetic constructor •() → self::B1
-    : super self::_B1&S&M1&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2&S&M1 = self::S with self::M1 {
@@ -327,7 +327,7 @@
 }
 class B2 extends self::_B2&S&M1&M2&M {
   synthetic constructor •() → self::B2
-    : super self::_B2&S&M1&M2&M::•()
+    : super self::S::•()
     ;
 }
 abstract class _B0X&S&M = self::S with self::M {
@@ -343,7 +343,7 @@
 }
 class B0X extends self::_B0X&S&M&MX {
   synthetic constructor •() → self::B0X
-    : super self::_B0X&S&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B1X&S&M1 = self::S with self::M1 {
@@ -364,7 +364,7 @@
 }
 class B1X extends self::_B1X&S&M1&M&MX {
   synthetic constructor •() → self::B1X
-    : super self::_B1X&S&M1&M&MX::•()
+    : super self::S::•()
     ;
 }
 abstract class _B2X&S&M1 = self::S with self::M1 {
@@ -390,7 +390,7 @@
 }
 class B2X extends self::_B2X&S&M1&M2&M&MX {
   synthetic constructor •() → self::B2X
-    : super self::_B2X&S&M1&M2&M&MX::•()
+    : super self::S::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.expect b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.expect
index b9d9373..daec74c 100644
--- a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.expect
+++ b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.expect
@@ -21,7 +21,7 @@
 }
 class E extends self::D {
   synthetic constructor •() → self::E
-    : super self::D::•()
+    : super self::C::•()
     ;
 }
 abstract class _F&C&M = self::C<core::int> with self::M {
@@ -31,7 +31,7 @@
 }
 class F extends self::_F&C&M {
   synthetic constructor •() → self::F
-    : super self::_F&C&M::•()
+    : super self::C::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.transformed.expect b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.transformed.expect
index 3e9f1e9..ce12709 100644
--- a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.legacy.transformed.expect
@@ -21,7 +21,7 @@
 }
 class E extends self::D {
   synthetic constructor •() → self::E
-    : super self::D::•()
+    : super self::C::•()
     ;
 }
 abstract class _F&C&M extends self::C<core::int> implements self::M {
@@ -31,7 +31,7 @@
 }
 class F extends self::_F&C&M {
   synthetic constructor •() → self::F
-    : super self::_F&C&M::•()
+    : super self::C::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.expect b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.expect
index 67701f2..c3bb2f6 100644
--- a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.expect
+++ b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.expect
@@ -21,7 +21,7 @@
 }
 class E extends self::D {
   synthetic constructor •() → self::E
-    : super self::D::•()
+    : super self::C::•()
     ;
 }
 abstract class _F&C&M = self::C<core::int> with self::M {
@@ -31,7 +31,7 @@
 }
 class F extends self::_F&C&M {
   synthetic constructor •() → self::F
-    : super self::_F&C&M::•()
+    : super self::C::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.transformed.expect
index e52a7ff..97235bc 100644
--- a/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/mixin_constructors_with_default_values.dart.strong.transformed.expect
@@ -21,7 +21,7 @@
 }
 class E extends self::D {
   synthetic constructor •() → self::E
-    : super self::D::•()
+    : super self::C::•()
     ;
 }
 abstract class _F&C&M extends self::C<core::int> implements self::M {
@@ -31,7 +31,7 @@
 }
 class F extends self::_F&C&M {
   synthetic constructor •() → self::F
-    : super self::_F&C&M::•()
+    : super self::C::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect
index fb518e4..0efea2e 100644
--- a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect
+++ b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.expect
@@ -28,7 +28,7 @@
 }
 class Foo extends self::_Foo&Object&C {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&C::•()
+    : super core::Object::•()
     ;
 }
 class B extends self::A {
diff --git a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect
index 9db2af2..43b415d 100644
--- a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.legacy.transformed.expect
@@ -32,7 +32,7 @@
 }
 class Foo extends self::_Foo&Object&C {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&C::•()
+    : super core::Object::•()
     ;
 }
 class B extends self::A {
diff --git a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
index b73697b..0b74544 100644
--- a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
+++ b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
@@ -28,7 +28,7 @@
 }
 class Foo extends self::_Foo&Object&C {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&C::•()
+    : super core::Object::•()
     ;
 }
 class B extends self::A {
diff --git a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
index 6b38260..bab35f4 100644
--- a/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
 }
 class Foo extends self::_Foo&Object&C {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&C::•()
+    : super core::Object::•()
     ;
 }
 class B extends self::A {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
index 75331f8..ef2820d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.expect
@@ -28,7 +28,7 @@
 }
 class C extends self::_C&Object&B {
   synthetic constructor •() → self::C
-    : super self::_C&Object&B::•()
+    : super core::Object::•()
     ;
   get foo() → core::int
     return 42;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
index b3fc1ec..6a81396 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.legacy.transformed.expect
@@ -32,7 +32,7 @@
 }
 class C extends self::_C&Object&B {
   synthetic constructor •() → self::C
-    : super self::_C&Object&B::•()
+    : super core::Object::•()
     ;
   get foo() → core::int
     return 42;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect
index 00d48b8..b00b8c0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect
@@ -28,7 +28,7 @@
 }
 class C extends self::_C&Object&B {
   synthetic constructor •() → self::C
-    : super self::_C&Object&B::•()
+    : super core::Object::•()
     ;
   get foo() → core::int
     return 42;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect
index 8ec90ad..72a6cef 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
 }
 class C extends self::_C&Object&B {
   synthetic constructor •() → self::C
-    : super self::_C&Object&B::•()
+    : super core::Object::•()
     ;
   get foo() → core::int
     return 42;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
index 521bedd..5881215 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.expect
@@ -30,7 +30,7 @@
 }
 class C extends self::_C&A&B {
   synthetic constructor •() → self::C
-    : super self::_C&A&B::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
index 528ca88..32a808d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.legacy.transformed.expect
@@ -32,7 +32,7 @@
 }
 class C extends self::_C&A&B {
   synthetic constructor •() → self::C
-    : super self::_C&A&B::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect
index b71a516..1418146 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect
@@ -30,7 +30,7 @@
 }
 class C extends self::_C&A&B {
   synthetic constructor •() → self::C
-    : super self::_C&A&B::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect
index 7cd29a7..193af7a 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
 }
 class C extends self::_C&A&B {
   synthetic constructor •() → self::C
-    : super self::_C&A&B::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect
index 43df9dd..a385598 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.expect
@@ -24,7 +24,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect
index df41d65..eda31a1 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.legacy.transformed.expect
@@ -26,7 +26,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect
index 43df9dd..a385598 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect
@@ -24,7 +24,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect
index df41d65..eda31a1 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect
@@ -26,7 +26,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect
index 3bbf6e3..a86290b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.expect
@@ -25,7 +25,7 @@
 }
 class A extends self::_A&Object&M implements self::I {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -37,7 +37,7 @@
 }
 class B extends self::_B&Object&M implements self::I {
   synthetic constructor •() → self::B
-    : super self::_B&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect
index 95e785d..6d9efb3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.legacy.transformed.expect
@@ -27,7 +27,7 @@
 }
 class A extends self::_A&Object&M implements self::I {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -41,7 +41,7 @@
 }
 class B extends self::_B&Object&M implements self::I {
   synthetic constructor •() → self::B
-    : super self::_B&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect
index 3bbf6e3..a86290b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect
@@ -25,7 +25,7 @@
 }
 class A extends self::_A&Object&M implements self::I {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -37,7 +37,7 @@
 }
 class B extends self::_B&Object&M implements self::I {
   synthetic constructor •() → self::B
-    : super self::_B&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect
index 95e785d..6d9efb3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect
@@ -27,7 +27,7 @@
 }
 class A extends self::_A&Object&M implements self::I {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
@@ -41,7 +41,7 @@
 }
 class B extends self::_B&Object&M implements self::I {
   synthetic constructor •() → self::B
-    : super self::_B&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect
index 5b8657c..3155d8f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.expect
@@ -17,7 +17,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect
index f8720a6..d91cc25 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.legacy.transformed.expect
@@ -20,7 +20,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect
index 5b8657c..3155d8f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect
@@ -17,7 +17,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect
index f8720a6..d91cc25 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect
@@ -20,7 +20,7 @@
 }
 class B extends self::_B&Object&A {
   synthetic constructor •() → self::B
-    : super self::_B&Object&A::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → void
     return this.{self::A::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect
index 7e77cf6..0e43ba4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.expect
@@ -23,7 +23,7 @@
 }
 class A extends self::_A&Object&M implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → core::int
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect
index a02303e..047bcf3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.legacy.transformed.expect
@@ -26,7 +26,7 @@
 }
 class A extends self::_A&Object&M implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → core::int
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect
index 7e77cf6..0e43ba4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect
@@ -23,7 +23,7 @@
 }
 class A extends self::_A&Object&M implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → core::int
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect
index a02303e..047bcf3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect
@@ -26,7 +26,7 @@
 }
 class A extends self::_A&Object&M implements self::I<core::int> {
   synthetic constructor •() → self::A
-    : super self::_A&Object&M::•()
+    : super core::Object::•()
     ;
   no-such-method-forwarder method foo() → core::int
     return this.{self::M::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))) as{TypeError} core::int;
diff --git a/pkg/front_end/testcases/qualified.dart.legacy.expect b/pkg/front_end/testcases/qualified.dart.legacy.expect
index a54701c..cf5f613 100644
--- a/pkg/front_end/testcases/qualified.dart.legacy.expect
+++ b/pkg/front_end/testcases/qualified.dart.legacy.expect
@@ -49,7 +49,7 @@
 }
 class WithMixin extends self::_WithMixin&Supertype&Mixin {
   synthetic constructor •() → self::WithMixin
-    : super self::_WithMixin&Supertype&Mixin::•()
+    : super lib::Supertype::•()
     ;
 }
 class IllegalSupertype extends core::Object {
diff --git a/pkg/front_end/testcases/qualified.dart.legacy.transformed.expect b/pkg/front_end/testcases/qualified.dart.legacy.transformed.expect
index 20d9d18..020e7a3 100644
--- a/pkg/front_end/testcases/qualified.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/qualified.dart.legacy.transformed.expect
@@ -31,7 +31,7 @@
 }
 class WithMixin extends self::_WithMixin&Supertype&Mixin {
   synthetic constructor •() → self::WithMixin
-    : super self::_WithMixin&Supertype&Mixin::•()
+    : super lib::Supertype::•()
     ;
 }
 class IllegalSupertype extends core::Object {
diff --git a/pkg/front_end/testcases/qualified.dart.strong.expect b/pkg/front_end/testcases/qualified.dart.strong.expect
index 4ad22bd..f36c315 100644
--- a/pkg/front_end/testcases/qualified.dart.strong.expect
+++ b/pkg/front_end/testcases/qualified.dart.strong.expect
@@ -53,7 +53,7 @@
 }
 class WithMixin extends self::_WithMixin&Supertype&Mixin {
   synthetic constructor •() → self::WithMixin
-    : super self::_WithMixin&Supertype&Mixin::•()
+    : super lib::Supertype::•()
     ;
 }
 class IllegalSupertype extends core::Object {
diff --git a/pkg/front_end/testcases/qualified.dart.strong.transformed.expect b/pkg/front_end/testcases/qualified.dart.strong.transformed.expect
index 937b2a4..c067a36 100644
--- a/pkg/front_end/testcases/qualified.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/qualified.dart.strong.transformed.expect
@@ -35,7 +35,7 @@
 }
 class WithMixin extends self::_WithMixin&Supertype&Mixin {
   synthetic constructor •() → self::WithMixin
-    : super self::_WithMixin&Supertype&Mixin::•()
+    : super lib::Supertype::•()
     ;
 }
 class IllegalSupertype extends core::Object {
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect
index 7bfef12..cb6cde6 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.expect
@@ -20,6 +20,6 @@
 }
 class A extends self::_A&Object&Mixin&Mixin {
   synthetic constructor •() → self::A
-    : super self::_A&Object&Mixin&Mixin::•()
+    : super core::Object::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect
index 25d8b41..d3c872e 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.legacy.transformed.expect
@@ -22,6 +22,6 @@
 }
 class A extends self::_A&Object&Mixin&Mixin {
   synthetic constructor •() → self::A
-    : super self::_A&Object&Mixin&Mixin::•()
+    : super core::Object::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect
index 7bfef12..cb6cde6 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect
@@ -20,6 +20,6 @@
 }
 class A extends self::_A&Object&Mixin&Mixin {
   synthetic constructor •() → self::A
-    : super self::_A&Object&Mixin&Mixin::•()
+    : super core::Object::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect
index 25d8b41..d3c872e 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect
@@ -22,6 +22,6 @@
 }
 class A extends self::_A&Object&Mixin&Mixin {
   synthetic constructor •() → self::A
-    : super self::_A&Object&Mixin&Mixin::•()
+    : super core::Object::•()
     ;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect
index 16d9699..a293cd7 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.expect
@@ -21,7 +21,7 @@
 }
 class Sub extends self::_Sub&Base&Mixin {
   synthetic constructor •() → self::Sub
-    : super self::_Sub&Base&Mixin::•()
+    : super self::Base::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect
index c528ee0..7fb2814 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.legacy.transformed.expect
@@ -23,7 +23,7 @@
 }
 class Sub extends self::_Sub&Base&Mixin {
   synthetic constructor •() → self::Sub
-    : super self::_Sub&Base&Mixin::•()
+    : super self::Base::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect
index 2df31da..11c3766 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect
@@ -21,7 +21,7 @@
 }
 class Sub extends self::_Sub&Base&Mixin {
   synthetic constructor •() → self::Sub
-    : super self::_Sub&Base&Mixin::•()
+    : super self::Base::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect
index 70c6e40..162a19d 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect
@@ -23,7 +23,7 @@
 }
 class Sub extends self::_Sub&Base&Mixin {
   synthetic constructor •() → self::Sub
-    : super self::_Sub&Base&Mixin::•()
+    : super self::Base::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect
index 3a5b253..5a311d6 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.expect
@@ -17,7 +17,7 @@
 }
 class Foo extends self::_Foo&Object&Mixin {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&Mixin::•()
+    : super core::Object::•()
     ;
   method foo() → dynamic
     return super.{self::Mixin::foo}();
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect
index 290a349..8d9ceb4 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.legacy.transformed.expect
@@ -20,7 +20,7 @@
 }
 class Foo extends self::_Foo&Object&Mixin {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&Mixin::•()
+    : super core::Object::•()
     ;
   method foo() → dynamic
     return super.{self::Mixin::foo}();
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect
index b027643..f37485f 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect
@@ -17,7 +17,7 @@
 }
 class Foo extends self::_Foo&Object&Mixin {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&Mixin::•()
+    : super core::Object::•()
     ;
   method foo() → dynamic
     return super.{self::Mixin::foo}();
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect
index 060831f..b2db962 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect
@@ -20,7 +20,7 @@
 }
 class Foo extends self::_Foo&Object&Mixin {
   synthetic constructor •() → self::Foo
-    : super self::_Foo&Object&Mixin::•()
+    : super core::Object::•()
     ;
   method foo() → dynamic
     return super.{self::Mixin::foo}();
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect
index 5aca9d3..8b75a6e 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.expect
@@ -25,7 +25,7 @@
 }
 class C<V extends core::Object = dynamic> extends self::_C&Super&Mixin<self::C::V> {
   synthetic constructor •() → self::C<self::C::V>
-    : super self::_C&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> {
@@ -35,7 +35,7 @@
 }
 class D extends self::_D&Super&Mixin {
   synthetic constructor •() → self::D
-    : super self::_D&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 class C2<V extends core::Object = dynamic> = self::Super<self::C2::V> with mix::Mixin<self::C2::V> {
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect
index 97f3b5a..2205406 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.legacy.transformed.expect
@@ -35,7 +35,7 @@
 }
 class C<V extends core::Object = dynamic> extends self::_C&Super&Mixin<self::C::V> {
   synthetic constructor •() → self::C<self::C::V>
-    : super self::_C&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 abstract class _D&Super&Mixin extends self::Super<dynamic> implements mix::Mixin<dynamic> {
@@ -61,7 +61,7 @@
 }
 class D extends self::_D&Super&Mixin {
   synthetic constructor •() → self::D
-    : super self::_D&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 class C2<V extends core::Object = dynamic> extends self::Super<self::C2::V> implements mix::Mixin<self::C2::V> {
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect
index ac00fc5..77780b3 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect
@@ -31,7 +31,7 @@
 }
 class C<V extends core::Object = dynamic> extends self::_C&Super&Mixin<self::C::V> {
   synthetic constructor •() → self::C<self::C::V>
-    : super self::_C&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 abstract class _D&Super&Mixin = self::Super<dynamic> with mix::Mixin<dynamic> {
@@ -41,7 +41,7 @@
 }
 class D extends self::_D&Super&Mixin {
   synthetic constructor •() → self::D
-    : super self::_D&Super&Mixin::•()
+    : super self::Super::•()
     ;
 }
 class C2<V extends core::Object = dynamic> = self::Super<self::C2::V> with mix::Mixin<self::C2::V> {
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect
index 2b0e26e..3f9071f 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.expect
@@ -21,7 +21,7 @@
 }
 class C extends self::_C&A&M {
   synthetic constructor •() → self::C
-    : super self::_C&A&M::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect
index a9c10f4..49ef114 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.legacy.transformed.expect
@@ -23,7 +23,7 @@
 }
 class C extends self::_C&A&M {
   synthetic constructor •() → self::C
-    : super self::_C&A&M::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32182.dart.strong.expect
index ccec30c..369e464 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.strong.expect
@@ -21,7 +21,7 @@
 }
 class C extends self::_C&A&M {
   synthetic constructor •() → self::C
-    : super self::_C&A&M::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect
index 063d09c..43a28a0 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect
@@ -23,7 +23,7 @@
 }
 class C extends self::_C&A&M {
   synthetic constructor •() → self::C
-    : super self::_C&A&M::•()
+    : super self::A::•()
     ;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.expect
index 0546d0e..dc8bb3d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.expect
@@ -39,7 +39,7 @@
 }
 class D extends self::C<core::int> {
   synthetic constructor •() → self::D
-    : super self::C::•()
+    : super self::B::•()
     ;
   method f() → (core::int) → void
     return (core::int i) → dynamic {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.transformed.expect
index 839a7dc..f47ed24 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.legacy.transformed.expect
@@ -45,7 +45,7 @@
 }
 class D extends self::C<core::int> {
   synthetic constructor •() → self::D
-    : super self::C::•()
+    : super self::B::•()
     ;
   method f() → (core::int) → void
     return (core::int i) → dynamic {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.strong.expect
index 45084df..a31d746 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.strong.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter.dart.strong.expect
@@ -59,7 +59,7 @@
 }
 class D extends self::C<core::int> {
   synthetic constructor •() → self::D
-    : super self::C::•()
+    : super self::B::•()
     ;
   method f() → (core::int) → void
     return (core::int i) → core::Null {
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
index dedf792..9324ab6 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_new_class2.dart.expect
@@ -39,7 +39,7 @@
 }
 class E extends self::_E&D&C {
   synthetic constructor •() → self::E
-    : super self::_E&D&C::•()
+    : super self::D::•()
     ;
 [@vm.procedure-attributes.metadata=hasDynamicUses:false,hasThisUses:false,hasTearOffUses:false]  method foo() → dynamic
     return new self::T2::•();