[vm] Fix super refs in non-synthetic constructors in mixin deduplication

Change-Id: I50bc48b6956aadd770ee73bc09b6292f33eac2ea
Reviewed-on: https://dart-review.googlesource.com/c/87078
Reviewed-by: Martin Kustermann <kustermann@google.com>
diff --git a/pkg/vm/lib/transformations/mixin_deduplication.dart b/pkg/vm/lib/transformations/mixin_deduplication.dart
index 19375aa..73c7e0b 100644
--- a/pkg/vm/lib/transformations/mixin_deduplication.dart
+++ b/pkg/vm/lib/transformations/mixin_deduplication.dart
@@ -126,26 +126,24 @@
       throw 'Unexpected node ${node.runtimeType}: $node';
 }
 
-/// Corrects synthetic forwarding constructors inserted by mixin resolution
-/// after replacing superclass.
+/// Corrects forwarding constructors inserted by mixin resolution after
+/// replacing superclass.
 void _correctForwardingConstructors(Class c, Class oldSuper, Class newSuper) {
   for (var constructor in c.constructors) {
-    if (constructor.isSynthetic) {
-      for (var initializer in constructor.initializers) {
-        if ((initializer is SuperInitializer) &&
-            initializer.target.enclosingClass == oldSuper) {
-          Constructor replacement = null;
-          for (var c in newSuper.constructors) {
-            if (c.name == initializer.target.name) {
-              replacement = c;
-              break;
-            }
+    for (var initializer in constructor.initializers) {
+      if ((initializer is SuperInitializer) &&
+          initializer.target.enclosingClass == oldSuper) {
+        Constructor replacement = null;
+        for (var c in newSuper.constructors) {
+          if (c.name == initializer.target.name) {
+            replacement = c;
+            break;
           }
-          if (replacement == null) {
-            throw 'Unable to find a replacement for $c in $newSuper';
-          }
-          initializer.target = replacement;
         }
+        if (replacement == null) {
+          throw 'Unable to find a replacement for $c in $newSuper';
+        }
+        initializer.target = replacement;
       }
     }
   }