[cfe] Implement getter-setter-error for extension types

Closes https://github.com/dart-lang/sdk/issues/58579

Change-Id: I64c4120d80982b38f1ac378acde04351325b632d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/432260
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
diff --git a/pkg/front_end/lib/src/builder/member_builder.dart b/pkg/front_end/lib/src/builder/member_builder.dart
index 4860357..dc2dda6 100644
--- a/pkg/front_end/lib/src/builder/member_builder.dart
+++ b/pkg/front_end/lib/src/builder/member_builder.dart
@@ -223,9 +223,9 @@
   ClassMember get interfaceMember => this;
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     if (isStatic) {
-      // Coverage-ignore-block(suite): Not run.
       return new StaticMemberResult(getMember(membersBuilder), memberKind,
           isDeclaredAsField:
               isDeclaredAsField(memberBuilder, forSetter: forSetter),
diff --git a/pkg/front_end/lib/src/dill/dill_extension_type_member_builder.dart b/pkg/front_end/lib/src/dill/dill_extension_type_member_builder.dart
index db54120..38e41cc 100644
--- a/pkg/front_end/lib/src/dill/dill_extension_type_member_builder.dart
+++ b/pkg/front_end/lib/src/dill/dill_extension_type_member_builder.dart
@@ -121,6 +121,7 @@
   Iterable<Reference> get exportedMemberReferences => [_procedure.reference];
 
   @override
+  // Coverage-ignore(suite): Not run.
   FieldQuality get fieldQuality => FieldQuality.Absent;
 
   @override
@@ -168,6 +169,7 @@
   Iterable<Reference> get exportedMemberReferences => [_procedure.reference];
 
   @override
+  // Coverage-ignore(suite): Not run.
   FieldQuality get fieldQuality => FieldQuality.Absent;
 
   @override
diff --git a/pkg/front_end/lib/src/dill/dill_member_builder.dart b/pkg/front_end/lib/src/dill/dill_member_builder.dart
index 55b5389..05740aa 100644
--- a/pkg/front_end/lib/src/dill/dill_member_builder.dart
+++ b/pkg/front_end/lib/src/dill/dill_member_builder.dart
@@ -367,6 +367,7 @@
             "member $memberBuilder.");
 
   @override
+  // Coverage-ignore(suite): Not run.
   bool get isSourceDeclaration => false;
 
   @override
@@ -428,6 +429,7 @@
   }
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     Member member = getMember(membersBuilder);
     if (member is Procedure &&
diff --git a/pkg/front_end/lib/src/fragment/field/class_member.dart b/pkg/front_end/lib/src/fragment/field/class_member.dart
index 3714796..1608f31 100644
--- a/pkg/front_end/lib/src/fragment/field/class_member.dart
+++ b/pkg/front_end/lib/src/fragment/field/class_member.dart
@@ -191,6 +191,7 @@
   }
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     return new TypeDeclarationInstanceMemberResult(
         getMember(membersBuilder), memberKind,
diff --git a/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart b/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart
index dd2cbe5..b04f61a 100644
--- a/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart
+++ b/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart
@@ -55,6 +55,7 @@
       ClassMembersBuilder membersBuilder, TypeDeclarationType thisType);
 }
 
+// Coverage-ignore(suite): Not run.
 class TypeDeclarationInstanceMemberResult implements MemberResult {
   final Member member;
   final ClassMemberKind kind;
@@ -90,8 +91,7 @@
   DartType getMemberType(
       ClassMembersBuilder membersBuilder, TypeDeclarationType thisType) {
     DartType type = switch (kind) {
-      ClassMemberKind.Method => // Coverage-ignore(suite): Not run.
-        member.getterType,
+      ClassMemberKind.Method => member.getterType,
       ClassMemberKind.Getter => member.getterType,
       ClassMemberKind.Setter => member.setterType,
     };
@@ -107,6 +107,7 @@
   }
 }
 
+// Coverage-ignore(suite): Not run.
 class StaticMemberResult implements MemberResult {
   final Member member;
   final ClassMemberKind kind;
@@ -134,14 +135,14 @@
   DartType getMemberType(
       ClassMembersBuilder membersBuilder, TypeDeclarationType thisType) {
     return switch (kind) {
-      ClassMemberKind.Method => // Coverage-ignore(suite): Not run.
-        member.getterType,
+      ClassMemberKind.Method => member.getterType,
       ClassMemberKind.Getter => member.getterType,
       ClassMemberKind.Setter => member.setterType,
     };
   }
 }
 
+// Coverage-ignore(suite): Not run.
 class ExtensionTypeMemberResult implements MemberResult {
   final ExtensionTypeDeclaration extensionTypeDeclaration;
   final Member member;
@@ -177,7 +178,6 @@
         "Unexpected member type for $member (${member.runtimeType}).");
     FunctionType type = member.getterType as FunctionType;
     if (type.typeParameters.isNotEmpty) {
-      // Coverage-ignore-block(suite): Not run.
       type = FunctionTypeInstantiator.instantiate(
           type,
           membersBuilder.hierarchyBuilder.types.getTypeArgumentsAsInstanceOf(
@@ -185,7 +185,6 @@
     }
     switch (kind) {
       case ClassMemberKind.Method:
-        // Coverage-ignore(suite): Not run.
         // For methods [member] is the tear-off so the member type is the return
         // type.
         return type.returnType;
@@ -373,6 +372,7 @@
   bool get isSetter => forSetter;
 
   @override
+  // Coverage-ignore(suite): Not run.
   bool get isSourceDeclaration => false;
 
   @override
@@ -388,6 +388,7 @@
       ClassMembersBuilder membersBuilder, Set<ClassMember> overriddenMembers) {}
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     return new TypeDeclarationInstanceMemberResult(
         getMember(membersBuilder), memberKind,
@@ -1078,6 +1079,7 @@
             // Coverage-ignore(suite): Not run.
             memberBuilder.setterQuality == SetterQuality.ImplicitAbstract);
   } else {
+    // Coverage-ignore-block(suite): Not run.
     return memberBuilder is PropertyBuilder && memberBuilder.hasField;
   }
 }
diff --git a/pkg/front_end/lib/src/kernel/hierarchy/delayed.dart b/pkg/front_end/lib/src/kernel/hierarchy/delayed.dart
index 3557f5d..5a8fdbc 100644
--- a/pkg/front_end/lib/src/kernel/hierarchy/delayed.dart
+++ b/pkg/front_end/lib/src/kernel/hierarchy/delayed.dart
@@ -91,8 +91,10 @@
 
   LibraryBuilder get libraryBuilder => declarationBuilder.libraryBuilder;
 
+  // Coverage-ignore(suite): Not run.
   int get declarationOffset => declarationBuilder.fileOffset;
 
+  // Coverage-ignore(suite): Not run.
   Uri get declarationUri => declarationBuilder.fileUri;
 
   void _checkGetterSetter({
@@ -130,6 +132,7 @@
                     .withLocation(setterUri, setterOffset, name.text.length)
               ]);
         } else if (getterIsDeclared) {
+          // Coverage-ignore-block(suite): Not run.
           Template<Message Function(DartType, String, DartType, String)>
               template = templateInvalidGetterSetterTypeSetterInheritedGetter;
           if (getterIsField) {
@@ -167,6 +170,7 @@
                     .withLocation(getterUri, getterOffset, name.text.length)
               ]);
         } else {
+          // Coverage-ignore-block(suite): Not run.
           Template<Message Function(DartType, String, DartType, String)>
               template = templateInvalidGetterSetterTypeBothInheritedGetter;
           Template<Message Function(String)> context =
@@ -263,6 +267,7 @@
   }
 }
 
+// Coverage-ignore(suite): Not run.
 class DelayedExtensionTypeGetterSetterCheck extends DelayedGetterSetterCheck {
   final SourceExtensionTypeDeclarationBuilder extensionTypeDeclarationBuilder;
   final Name name;
diff --git a/pkg/front_end/lib/src/kernel/hierarchy/extension_type_members.dart b/pkg/front_end/lib/src/kernel/hierarchy/extension_type_members.dart
index b3a2634..7b271f6 100644
--- a/pkg/front_end/lib/src/kernel/hierarchy/extension_type_members.dart
+++ b/pkg/front_end/lib/src/kernel/hierarchy/extension_type_members.dart
@@ -218,13 +218,21 @@
           /// `ET1.property2` is _not_ a subtype of the setter
           /// `ET2.property1`.
           ///
-          _membersBuilder.registerGetterSetterCheck(
-              new DelayedExtensionTypeGetterSetterCheck(
-                  extensionTypeDeclarationBuilder
-                      as SourceExtensionTypeDeclarationBuilder,
-                  name,
-                  getableMember,
-                  setableMember));
+          SourceExtensionTypeDeclarationBuilder
+              sourceExtensionTypeDeclarationBuilder =
+              extensionTypeDeclarationBuilder
+                  as SourceExtensionTypeDeclarationBuilder;
+          if (!sourceExtensionTypeDeclarationBuilder
+              .libraryBuilder.libraryFeatures.getterSetterError.isEnabled) {
+            // Coverage-ignore-block(suite): Not run.
+            _membersBuilder.registerGetterSetterCheck(
+                new DelayedExtensionTypeGetterSetterCheck(
+                    extensionTypeDeclarationBuilder
+                        as SourceExtensionTypeDeclarationBuilder,
+                    name,
+                    getableMember,
+                    setableMember));
+          }
         }
       }
     }
diff --git a/pkg/front_end/lib/src/source/source_property_builder.dart b/pkg/front_end/lib/src/source/source_property_builder.dart
index a23924e..a3ab2b6 100644
--- a/pkg/front_end/lib/src/source/source_property_builder.dart
+++ b/pkg/front_end/lib/src/source/source_property_builder.dart
@@ -611,6 +611,7 @@
   }
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     if (isStatic) {
       return new StaticMemberResult(getMember(membersBuilder), memberKind,
@@ -742,6 +743,7 @@
   }
 
   @override
+  // Coverage-ignore(suite): Not run.
   MemberResult getMemberResult(ClassMembersBuilder membersBuilder) {
     if (isStatic) {
       return new StaticMemberResult(getMember(membersBuilder), memberKind,
diff --git a/pkg/front_end/test/coverage_suite_expected.dart b/pkg/front_end/test/coverage_suite_expected.dart
index 0251ae0..f2c728c 100644
--- a/pkg/front_end/test/coverage_suite_expected.dart
+++ b/pkg/front_end/test/coverage_suite_expected.dart
@@ -295,7 +295,7 @@
   ),
   // 100.0%.
   "package:front_end/src/builder/formal_parameter_builder.dart": (
-    hitCount: 170,
+    hitCount: 173,
     missCount: 0,
   ),
   // 100.0%.
@@ -330,7 +330,7 @@
   ),
   // 100.0%.
   "package:front_end/src/builder/member_builder.dart": (
-    hitCount: 83,
+    hitCount: 63,
     missCount: 0,
   ),
   // 100.0%.
@@ -450,7 +450,7 @@
   ),
   // 100.0%.
   "package:front_end/src/dill/dill_extension_type_member_builder.dart": (
-    hitCount: 156,
+    hitCount: 154,
     missCount: 0,
   ),
   // 100.0%.
@@ -465,7 +465,7 @@
   ),
   // 100.0%.
   "package:front_end/src/dill/dill_member_builder.dart": (
-    hitCount: 255,
+    hitCount: 245,
     missCount: 0,
   ),
   // 100.0%.
@@ -565,7 +565,7 @@
   ),
   // 100.0%.
   "package:front_end/src/fragment/field/class_member.dart": (
-    hitCount: 136,
+    hitCount: 129,
     missCount: 0,
   ),
   // 100.0%.
@@ -680,7 +680,7 @@
   ),
   // 100.0%.
   "package:front_end/src/kernel/body_builder.dart": (
-    hitCount: 7213,
+    hitCount: 7215,
     missCount: 0,
   ),
   // 100.0%.
@@ -730,7 +730,7 @@
   ),
   // 100.0%.
   "package:front_end/src/kernel/dynamic_module_validator.dart": (
-    hitCount: 411,
+    hitCount: 408,
     missCount: 0,
   ),
   // 100.0%.
@@ -760,17 +760,17 @@
   ),
   // 100.0%.
   "package:front_end/src/kernel/hierarchy/class_member.dart": (
-    hitCount: 388,
+    hitCount: 290,
     missCount: 0,
   ),
   // 100.0%.
   "package:front_end/src/kernel/hierarchy/delayed.dart": (
-    hitCount: 212,
+    hitCount: 137,
     missCount: 0,
   ),
   // 100.0%.
   "package:front_end/src/kernel/hierarchy/extension_type_members.dart": (
-    hitCount: 389,
+    hitCount: 390,
     missCount: 0,
   ),
   // 100.0%.
@@ -986,7 +986,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_library_builder.dart": (
-    hitCount: 1123,
+    hitCount: 1125,
     missCount: 0,
   ),
   // 100.0%.
@@ -1006,7 +1006,7 @@
   ),
   // 100.0%.
   "package:front_end/src/source/source_property_builder.dart": (
-    hitCount: 520,
+    hitCount: 474,
     missCount: 0,
   ),
   // 100.0%.
diff --git a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.expect b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.expect
index 86afb3b..4fa89f0 100644
--- a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.expect
@@ -79,61 +79,6 @@
 //   void set method4(int value) {}
 //            ^^^^^^^
 //
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'ExtensionType11.property' is not a subtype of the type 'String' of the setter 'ExtensionType11.property'.
-//   int get property => 42; /* Error */
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'ExtensionType11.property'.
-//   void set property(String value) {} /* Error */
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:93:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-// extension type ExtensionType12a(ClassLM n) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:98:12: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType12b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:103:12: Error: The type 'bool' of the getter 'ExtensionType12c.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:112:16: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-// extension type ExtensionType13a(ClassLM i) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:117:12: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType13b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:122:12: Error: The type 'bool' of the getter 'ExtensionType13c.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
 // pkg/front_end/testcases/extension_types/implements_conflicts.dart:42:16: Error: Extension type 'ExtensionType6a' inherits multiple members named 'method2' with incompatible signatures.
 // Try adding a declaration of 'method2' to 'ExtensionType6a'.
 // extension type ExtensionType6a(ClassF c) /* Error */
diff --git a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.modular.expect
index 86afb3b..4fa89f0 100644
--- a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.modular.expect
@@ -79,61 +79,6 @@
 //   void set method4(int value) {}
 //            ^^^^^^^
 //
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'ExtensionType11.property' is not a subtype of the type 'String' of the setter 'ExtensionType11.property'.
-//   int get property => 42; /* Error */
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'ExtensionType11.property'.
-//   void set property(String value) {} /* Error */
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:93:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-// extension type ExtensionType12a(ClassLM n) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:98:12: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType12b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:103:12: Error: The type 'bool' of the getter 'ExtensionType12c.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:112:16: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-// extension type ExtensionType13a(ClassLM i) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:117:12: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType13b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:122:12: Error: The type 'bool' of the getter 'ExtensionType13c.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
 // pkg/front_end/testcases/extension_types/implements_conflicts.dart:42:16: Error: Extension type 'ExtensionType6a' inherits multiple members named 'method2' with incompatible signatures.
 // Try adding a declaration of 'method2' to 'ExtensionType6a'.
 // extension type ExtensionType6a(ClassF c) /* Error */
diff --git a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.outline.expect
index 914befd..24e638d 100644
--- a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.outline.expect
@@ -79,61 +79,6 @@
 //   void set method4(int value) {}
 //            ^^^^^^^
 //
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'ExtensionType11.property' is not a subtype of the type 'String' of the setter 'ExtensionType11.property'.
-//   int get property => 42; /* Error */
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'ExtensionType11.property'.
-//   void set property(String value) {} /* Error */
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:93:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-// extension type ExtensionType12a(ClassLM n) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:98:12: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType12b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:103:12: Error: The type 'bool' of the getter 'ExtensionType12c.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:112:16: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-// extension type ExtensionType13a(ClassLM i) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:117:12: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType13b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:122:12: Error: The type 'bool' of the getter 'ExtensionType13c.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
 // pkg/front_end/testcases/extension_types/implements_conflicts.dart:42:16: Error: Extension type 'ExtensionType6a' inherits multiple members named 'method2' with incompatible signatures.
 // Try adding a declaration of 'method2' to 'ExtensionType6a'.
 // extension type ExtensionType6a(ClassF c) /* Error */
diff --git a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.transformed.expect
index c4f4535..4f1679a 100644
--- a/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/implements_conflicts.dart.strong.transformed.expect
@@ -79,61 +79,6 @@
 //   void set method4(int value) {}
 //            ^^^^^^^
 //
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:89:11: Error: The type 'int' of the getter 'ExtensionType11.property' is not a subtype of the type 'String' of the setter 'ExtensionType11.property'.
-//   int get property => 42; /* Error */
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:90:12: Context: This is the declaration of the setter 'ExtensionType11.property'.
-//   void set property(String value) {} /* Error */
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:93:16: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-// extension type ExtensionType12a(ClassLM n) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:98:12: Error: The type 'int' of the inherited getter 'ClassL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType12b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:93:11: Context: This is the declaration of the getter 'ClassL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:103:12: Error: The type 'bool' of the getter 'ExtensionType12c.property' is not a subtype of the type 'String' of the inherited setter 'ClassM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:97:12: Context: This is the declaration of the setter 'ClassM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:112:16: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-// extension type ExtensionType13a(ClassLM i) /* Error */
-//                ^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:117:12: Error: The type 'int' of the inherited getter 'ExtensionTypeL.property' is not a subtype of the type 'bool' of the setter 'ExtensionType13b.property'.
-//   void set property(bool value) {} /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:103:11: Context: This is the declaration of the getter 'ExtensionTypeL.property'.
-//   int get property => 42;
-//           ^^^^^^^^
-//
-// pkg/front_end/testcases/extension_types/implements_conflicts.dart:122:12: Error: The type 'bool' of the getter 'ExtensionType13c.property' is not a subtype of the type 'String' of the inherited setter 'ExtensionTypeM.property'.
-//   bool get property => true; /* Error */
-//            ^^^^^^^^
-// pkg/front_end/testcases/extension_types/implements_conflicts_lib.dart:107:12: Context: This is the declaration of the setter 'ExtensionTypeM.property'.
-//   void set property(String value) {}
-//            ^^^^^^^^
-//
 // pkg/front_end/testcases/extension_types/implements_conflicts.dart:42:16: Error: Extension type 'ExtensionType6a' inherits multiple members named 'method2' with incompatible signatures.
 // Try adding a declaration of 'method2' to 'ExtensionType6a'.
 // extension type ExtensionType6a(ClassF c) /* Error */
diff --git a/pkg/front_end/testcases/extension_types/issue53539.dart b/pkg/front_end/testcases/extension_types/issue53539.dart
index 05ca223..6ebf46a 100644
--- a/pkg/front_end/testcases/extension_types/issue53539.dart
+++ b/pkg/front_end/testcases/extension_types/issue53539.dart
@@ -3,5 +3,5 @@
 // BSD-style license that can be found in the LICENSE file.
 
 extension type ET(int id) {
-  void set id(String i) /* Error */ {}
+  void set id(String i) {}
 }
diff --git a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.expect
index e99e91a..6bbaee3 100644
--- a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.expect
@@ -1,14 +1,4 @@
 library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extension_types/issue53539.dart:5:23: Error: The type 'int' of the getter 'ET.id' is not a subtype of the type 'String' of the setter 'ET.id'.
-// extension type ET(int id) {
-//                       ^^
-// pkg/front_end/testcases/extension_types/issue53539.dart:6:12: Context: This is the declaration of the setter 'ET.id'.
-//   void set id(String i) /* Error */ {}
-//            ^^
-//
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.modular.expect
index e99e91a..6bbaee3 100644
--- a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.modular.expect
@@ -1,14 +1,4 @@
 library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extension_types/issue53539.dart:5:23: Error: The type 'int' of the getter 'ET.id' is not a subtype of the type 'String' of the setter 'ET.id'.
-// extension type ET(int id) {
-//                       ^^
-// pkg/front_end/testcases/extension_types/issue53539.dart:6:12: Context: This is the declaration of the setter 'ET.id'.
-//   void set id(String i) /* Error */ {}
-//            ^^
-//
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.outline.expect
index d4c231c..deb934c 100644
--- a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.outline.expect
@@ -1,14 +1,4 @@
 library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extension_types/issue53539.dart:5:23: Error: The type 'int' of the getter 'ET.id' is not a subtype of the type 'String' of the setter 'ET.id'.
-// extension type ET(int id) {
-//                       ^^
-// pkg/front_end/testcases/extension_types/issue53539.dart:6:12: Context: This is the declaration of the setter 'ET.id'.
-//   void set id(String i) /* Error */ {}
-//            ^^
-//
 import self as self;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.transformed.expect
index e99e91a..6bbaee3 100644
--- a/pkg/front_end/testcases/extension_types/issue53539.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue53539.dart.strong.transformed.expect
@@ -1,14 +1,4 @@
 library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extension_types/issue53539.dart:5:23: Error: The type 'int' of the getter 'ET.id' is not a subtype of the type 'String' of the setter 'ET.id'.
-// extension type ET(int id) {
-//                       ^^
-// pkg/front_end/testcases/extension_types/issue53539.dart:6:12: Context: This is the declaration of the setter 'ET.id'.
-//   void set id(String i) /* Error */ {}
-//            ^^
-//
 import self as self;
 import "dart:core" as core;