diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
index cecffd7..854ac86 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart
@@ -289,8 +289,26 @@
 
   void checkOverrides(
       ClassHierarchy hierarchy, TypeEnvironment typeEnvironment) {
-    hierarchy.forEachOverridePair(cls,
-        (Member declaredMember, Member interfaceMember, bool isSetter) {
+    handleSeenCovariant(
+        Member declaredMember,
+        Member interfaceMember,
+        bool isSetter,
+        callback(
+            Member declaredMember, Member interfaceMember, bool isSetter)) {
+      // When a parameter is covariant we have to check that we also
+      // override the same member in all parents.
+      for (Supertype supertype in interfaceMember.enclosingClass.supers) {
+        Member m = hierarchy.getInterfaceMember(
+            supertype.classNode, interfaceMember.name,
+            setter: isSetter);
+        if (m != null) {
+          callback(declaredMember, m, isSetter);
+        }
+      }
+    }
+
+    overridePairCallback(
+        Member declaredMember, Member interfaceMember, bool isSetter) {
       if (declaredMember is Constructor || interfaceMember is Constructor) {
         unimplemented("Constructor in override check.",
             declaredMember.fileOffset, fileUri);
@@ -298,8 +316,12 @@
       if (declaredMember is Procedure && interfaceMember is Procedure) {
         if (declaredMember.kind == ProcedureKind.Method &&
             interfaceMember.kind == ProcedureKind.Method) {
-          checkMethodOverride(
+          bool seenCovariant = checkMethodOverride(
               hierarchy, typeEnvironment, declaredMember, interfaceMember);
+          if (seenCovariant) {
+            handleSeenCovariant(declaredMember, interfaceMember, isSetter,
+                overridePairCallback);
+          }
         }
         if (declaredMember.kind == ProcedureKind.Getter &&
             interfaceMember.kind == ProcedureKind.Getter) {
@@ -308,8 +330,12 @@
         }
         if (declaredMember.kind == ProcedureKind.Setter &&
             interfaceMember.kind == ProcedureKind.Setter) {
-          checkSetterOverride(
+          bool seenCovariant = checkSetterOverride(
               hierarchy, typeEnvironment, declaredMember, interfaceMember);
+          if (seenCovariant) {
+            handleSeenCovariant(declaredMember, interfaceMember, isSetter,
+                overridePairCallback);
+          }
         }
       } else {
         bool declaredMemberHasGetter = declaredMember is Field ||
@@ -324,12 +350,18 @@
           checkGetterOverride(
               hierarchy, typeEnvironment, declaredMember, interfaceMember);
         } else if (declaredMemberHasSetter && interfaceMemberHasSetter) {
-          checkSetterOverride(
+          bool seenCovariant = checkSetterOverride(
               hierarchy, typeEnvironment, declaredMember, interfaceMember);
+          if (seenCovariant) {
+            handleSeenCovariant(declaredMember, interfaceMember, isSetter,
+                overridePairCallback);
+          }
         }
       }
       // TODO(ahe): Handle other cases: accessors, operators, and fields.
-    });
+    }
+
+    hierarchy.forEachOverridePair(cls, overridePairCallback);
   }
 
   void checkAbstractMembers(CoreTypes coreTypes, ClassHierarchy hierarchy) {
@@ -728,7 +760,9 @@
     return false;
   }
 
-  void checkMethodOverride(
+  /// Returns whether a covariant parameter was seen and more methods thus have
+  /// to be checked.
+  bool checkMethodOverride(
       ClassHierarchy hierarchy,
       TypeEnvironment typeEnvironment,
       Procedure declaredMember,
@@ -736,10 +770,11 @@
     if (declaredMember.enclosingClass != cls) {
       // TODO(ahe): Include these checks as well, but the message needs to
       // explain that [declaredMember] is inherited.
-      return;
+      return false;
     }
     assert(declaredMember.kind == ProcedureKind.Method);
     assert(interfaceMember.kind == ProcedureKind.Method);
+    bool seenCovariant = false;
     FunctionNode declaredFunction = declaredMember.function;
     FunctionNode interfaceFunction = interfaceMember.function;
 
@@ -807,10 +842,11 @@
           interfaceFunction.positionalParameters[i].type,
           declaredParameter.isCovariant,
           declaredParameter);
+      if (declaredParameter.isCovariant) seenCovariant = true;
     }
     if (declaredFunction.namedParameters.isEmpty &&
         interfaceFunction.namedParameters.isEmpty) {
-      return;
+      return seenCovariant;
     }
     if (declaredFunction.namedParameters.length <
         interfaceFunction.namedParameters.length) {
@@ -875,7 +911,9 @@
           interfaceNamedParameters.current.type,
           declaredParameter.isCovariant,
           declaredParameter);
+      if (declaredParameter.isCovariant) seenCovariant = true;
     }
+    return seenCovariant;
   }
 
   void checkGetterOverride(
@@ -896,7 +934,9 @@
         interfaceMember, declaredType, interfaceType, false, null);
   }
 
-  void checkSetterOverride(
+  /// Returns whether a covariant parameter was seen and more methods thus have
+  /// to be checked.
+  bool checkSetterOverride(
       ClassHierarchy hierarchy,
       TypeEnvironment typeEnvironment,
       Member declaredMember,
@@ -904,7 +944,7 @@
     if (declaredMember.enclosingClass != cls) {
       // TODO(paulberry): Include these checks as well, but the message needs to
       // explain that [declaredMember] is inherited.
-      return;
+      return false;
     }
     Substitution interfaceSubstitution = _computeInterfaceSubstitution(
         hierarchy, declaredMember, interfaceMember, null, null);
@@ -924,6 +964,7 @@
         isCovariant,
         declaredParameter,
         asIfDeclaredParameter: true);
+    return isCovariant;
   }
 
   String get fullNameForErrors {
diff --git a/tests/language_2/language_2_dart2js.status b/tests/language_2/language_2_dart2js.status
index 2e158a0..329ec9c 100644
--- a/tests/language_2/language_2_dart2js.status
+++ b/tests/language_2/language_2_dart2js.status
@@ -598,8 +598,6 @@
 identical_const_test/04: MissingCompileTimeError
 issue18628_2_test/01: MissingCompileTimeError
 issue23244_test: Crash # 'file:*/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart': Failed assertion: line 208 pos 18: '!(_useKernel && _strongMode && !_disableRtiOptimization) ||
-issue31596_override_test/07: MissingCompileTimeError
-issue31596_override_test/08: MissingCompileTimeError
 library_env_test/has_no_html_support: RuntimeError
 library_env_test/has_no_io_support: RuntimeError
 malbounded_instantiation_test/01: MissingCompileTimeError
@@ -791,8 +789,6 @@
 invocation_mirror_test: RuntimeError
 issue18628_2_test/01: MissingCompileTimeError
 issue23244_test: Crash # Interpolated value #1 is not an Expression or List of Expressions: [VariableUse(f), Instance of 'LiteralNull', null]
-issue31596_override_test/07: MissingCompileTimeError
-issue31596_override_test/08: MissingCompileTimeError
 library_env_test/has_no_html_support: RuntimeError
 library_env_test/has_no_io_support: RuntimeError
 malbounded_instantiation_test/01: MissingCompileTimeError
diff --git a/tests/language_2/language_2_dartdevc.status b/tests/language_2/language_2_dartdevc.status
index 9935e31..009e069 100644
--- a/tests/language_2/language_2_dartdevc.status
+++ b/tests/language_2/language_2_dartdevc.status
@@ -397,8 +397,6 @@
 implicit_creation/implicit_const_not_default_values_test/e9: Pass
 instantiate_tearoff_of_call_test: CompileTimeError
 issue18628_2_test/01: MissingCompileTimeError
-issue31596_override_test/07: MissingCompileTimeError
-issue31596_override_test/08: MissingCompileTimeError
 issue31596_super_test/01: CompileTimeError
 issue31596_super_test/02: MissingCompileTimeError
 issue31596_super_test/03: CompileTimeError
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index 351c684..e046a90 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -255,8 +255,6 @@
 field3_test/02: MissingCompileTimeError # Issue 33022
 generic_methods_bounds_test/01: MissingCompileTimeError # Issue 33018
 generic_methods_recursive_bound_test/02: MissingCompileTimeError # Issue 33018
-issue31596_override_test/07: MissingCompileTimeError
-issue31596_override_test/08: MissingCompileTimeError
 issue31596_super_test/02: MissingCompileTimeError
 issue31596_super_test/04: MissingCompileTimeError
 malbounded_instantiation_test/01: MissingCompileTimeError # Issue 33018
diff --git a/tests/language_2/override_inheritance_method2_test.dart b/tests/language_2/override_inheritance_method2_test.dart
new file mode 100644
index 0000000..e22571f
--- /dev/null
+++ b/tests/language_2/override_inheritance_method2_test.dart
@@ -0,0 +1,1112 @@
+// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+main() {
+  new C();
+}
+
+class A {
+  method1(covariant dynamic a) => null; //# 001: ok
+  method2(covariant dynamic a) => null; //# 002: ok
+  method3(covariant dynamic a) => null; //# 003: ok
+  method4(covariant dynamic a) => null; //# 004: ok
+  method5(covariant dynamic a) => null; //# 005: ok
+  method6(covariant dynamic a) => null; //# 006: ok
+  method7(covariant dynamic a) => null; //# 007: ok
+  method8(covariant dynamic a) => null; //# 008: ok
+  method9(covariant dynamic a) => null; //# 009: ok
+  method10(covariant dynamic a) => null; //# 010: ok
+  method11(covariant dynamic a) => null; //# 011: ok
+  method12(covariant dynamic a) => null; //# 012: compile-time error
+  method13(covariant dynamic a) => null; //# 013: ok
+  method14(covariant dynamic a) => null; //# 014: ok
+  method15(covariant dynamic a) => null; //# 015: ok
+  method16(covariant dynamic a) => null; //# 016: compile-time error
+  method17(covariant dynamic a) => null; //# 017: ok
+  method18(covariant dynamic a) => null; //# 018: ok
+  method19(covariant dynamic a) => null; //# 019: ok
+  method20(covariant dynamic a) => null; //# 020: compile-time error
+  method21(covariant dynamic a) => null; //# 021: ok
+  method22(covariant dynamic a) => null; //# 022: ok
+  method23(covariant dynamic a) => null; //# 023: ok
+  method24(covariant dynamic a) => null; //# 024: compile-time error
+  method25(covariant dynamic a) => null; //# 025: ok
+  method26(covariant dynamic a) => null; //# 026: compile-time error
+  method27(covariant dynamic a) => null; //# 027: compile-time error
+  method28(covariant dynamic a) => null; //# 028: ok
+  method29(covariant dynamic a) => null; //# 029: ok
+  method30(covariant dynamic a) => null; //# 030: compile-time error
+  method31(covariant dynamic a) => null; //# 031: compile-time error
+  method32(covariant dynamic a) => null; //# 032: ok
+  method33(covariant dynamic a) => null; //# 033: ok
+  method34(covariant dynamic a) => null; //# 034: ok
+  method35(covariant dynamic a) => null; //# 035: ok
+  method36(covariant dynamic a) => null; //# 036: ok
+  method37(covariant dynamic a) => null; //# 037: ok
+  method38(covariant dynamic a) => null; //# 038: ok
+  method39(covariant dynamic a) => null; //# 039: ok
+  method40(covariant dynamic a) => null; //# 040: ok
+  method41(covariant dynamic a) => null; //# 041: ok
+  method42(covariant dynamic a) => null; //# 042: ok
+  method43(covariant dynamic a) => null; //# 043: ok
+  method44(covariant dynamic a) => null; //# 044: compile-time error
+  method45(covariant dynamic a) => null; //# 045: ok
+  method46(covariant dynamic a) => null; //# 046: ok
+  method47(covariant dynamic a) => null; //# 047: ok
+  method48(covariant dynamic a) => null; //# 048: compile-time error
+  method49(covariant dynamic a) => null; //# 049: ok
+  method50(covariant dynamic a) => null; //# 050: ok
+  method51(covariant dynamic a) => null; //# 051: ok
+  method52(covariant dynamic a) => null; //# 052: compile-time error
+  method53(covariant dynamic a) => null; //# 053: ok
+  method54(covariant dynamic a) => null; //# 054: ok
+  method55(covariant dynamic a) => null; //# 055: ok
+  method56(covariant dynamic a) => null; //# 056: compile-time error
+  method57(covariant dynamic a) => null; //# 057: ok
+  method58(covariant dynamic a) => null; //# 058: compile-time error
+  method59(covariant dynamic a) => null; //# 059: compile-time error
+  method60(covariant dynamic a) => null; //# 060: ok
+  method61(covariant dynamic a) => null; //# 061: ok
+  method62(covariant dynamic a) => null; //# 062: compile-time error
+  method63(covariant dynamic a) => null; //# 063: compile-time error
+  method64(covariant dynamic a) => null; //# 064: ok
+  method65(covariant num a) => null; //# 065: ok
+  method66(covariant num a) => null; //# 066: ok
+  method67(covariant num a) => null; //# 067: ok
+  method68(covariant num a) => null; //# 068: compile-time error
+  method69(covariant num a) => null; //# 069: ok
+  method70(covariant num a) => null; //# 070: ok
+  method71(covariant num a) => null; //# 071: ok
+  method72(covariant num a) => null; //# 072: compile-time error
+  method73(covariant num a) => null; //# 073: ok
+  method74(covariant num a) => null; //# 074: ok
+  method75(covariant num a) => null; //# 075: ok
+  method76(covariant num a) => null; //# 076: compile-time error
+  method77(covariant num a) => null; //# 077: ok
+  method78(covariant num a) => null; //# 078: ok
+  method79(covariant num a) => null; //# 079: ok
+  method80(covariant num a) => null; //# 080: compile-time error
+  method81(covariant num a) => null; //# 081: ok
+  method82(covariant num a) => null; //# 082: ok
+  method83(covariant num a) => null; //# 083: ok
+  method84(covariant num a) => null; //# 084: compile-time error
+  method85(covariant num a) => null; //# 085: ok
+  method86(covariant num a) => null; //# 086: ok
+  method87(covariant num a) => null; //# 087: ok
+  method88(covariant num a) => null; //# 088: compile-time error
+  method89(covariant num a) => null; //# 089: compile-time error
+  method90(covariant num a) => null; //# 090: ok
+  method91(covariant num a) => null; //# 091: ok
+  method92(covariant num a) => null; //# 092: ok
+  method93(covariant num a) => null; //# 093: compile-time error
+  method94(covariant num a) => null; //# 094: ok
+  method95(covariant num a) => null; //# 095: ok
+  method96(covariant num a) => null; //# 096: ok
+  method97(covariant num a) => null; //# 097: compile-time error
+  method98(covariant num a) => null; //# 098: ok
+  method99(covariant num a) => null; //# 099: ok
+  method100(covariant num a) => null; //# 100: ok
+  method101(covariant num a) => null; //# 101: compile-time error
+  method102(covariant num a) => null; //# 102: ok
+  method103(covariant num a) => null; //# 103: ok
+  method104(covariant num a) => null; //# 104: ok
+  method105(covariant num a) => null; //# 105: compile-time error
+  method106(covariant num a) => null; //# 106: ok
+  method107(covariant num a) => null; //# 107: ok
+  method108(covariant num a) => null; //# 108: ok
+  method109(covariant num a) => null; //# 109: compile-time error
+  method110(covariant num a) => null; //# 110: ok
+  method111(covariant num a) => null; //# 111: ok
+  method112(covariant num a) => null; //# 112: ok
+  method113(covariant num a) => null; //# 113: compile-time error
+  method114(covariant num a) => null; //# 114: compile-time error
+  method115(covariant int a) => null; //# 115: ok
+  method116(covariant int a) => null; //# 116: ok
+  method117(covariant int a) => null; //# 117: ok
+  method118(covariant int a) => null; //# 118: compile-time error
+  method119(covariant int a) => null; //# 119: ok
+  method120(covariant int a) => null; //# 120: ok
+  method121(covariant int a) => null; //# 121: ok
+  method122(covariant int a) => null; //# 122: compile-time error
+  method123(covariant int a) => null; //# 123: ok
+  method124(covariant int a) => null; //# 124: ok
+  method125(covariant int a) => null; //# 125: ok
+  method126(covariant int a) => null; //# 126: compile-time error
+  method127(covariant int a) => null; //# 127: ok
+  method128(covariant int a) => null; //# 128: ok
+  method129(covariant int a) => null; //# 129: ok
+  method130(covariant int a) => null; //# 130: compile-time error
+  method131(covariant int a) => null; //# 131: ok
+  method132(covariant int a) => null; //# 132: ok
+  method133(covariant int a) => null; //# 133: ok
+  method134(covariant int a) => null; //# 134: compile-time error
+  method135(covariant int a) => null; //# 135: ok
+  method136(covariant int a) => null; //# 136: ok
+  method137(covariant int a) => null; //# 137: ok
+  method138(covariant int a) => null; //# 138: compile-time error
+  method139(covariant int a) => null; //# 139: compile-time error
+  method140(covariant int a) => null; //# 140: ok
+  method141(covariant int a) => null; //# 141: ok
+  method142(covariant int a) => null; //# 142: ok
+  method143(covariant int a) => null; //# 143: compile-time error
+  method144(covariant int a) => null; //# 144: ok
+  method145(covariant int a) => null; //# 145: ok
+  method146(covariant int a) => null; //# 146: ok
+  method147(covariant int a) => null; //# 147: compile-time error
+  method148(covariant int a) => null; //# 148: ok
+  method149(covariant int a) => null; //# 149: ok
+  method150(covariant int a) => null; //# 150: ok
+  method151(covariant int a) => null; //# 151: compile-time error
+  method152(covariant int a) => null; //# 152: ok
+  method153(covariant int a) => null; //# 153: ok
+  method154(covariant int a) => null; //# 154: ok
+  method155(covariant int a) => null; //# 155: compile-time error
+  method156(covariant int a) => null; //# 156: ok
+  method157(covariant int a) => null; //# 157: ok
+  method158(covariant int a) => null; //# 158: ok
+  method159(covariant int a) => null; //# 159: compile-time error
+  method160(covariant int a) => null; //# 160: ok
+  method161(covariant int a) => null; //# 161: ok
+  method162(covariant int a) => null; //# 162: ok
+  method163(covariant int a) => null; //# 163: compile-time error
+  method164(covariant int a) => null; //# 164: compile-time error
+  method165(covariant String a) => null; //# 165: ok
+  method166(covariant String a) => null; //# 166: compile-time error
+  method167(covariant String a) => null; //# 167: compile-time error
+  method168(covariant String a) => null; //# 168: ok
+  method169(covariant String a) => null; //# 169: ok
+  method170(covariant String a) => null; //# 170: compile-time error
+  method171(covariant String a) => null; //# 171: compile-time error
+  method172(covariant String a) => null; //# 172: ok
+  method173(covariant String a) => null; //# 173: compile-time error
+  method174(covariant String a) => null; //# 174: compile-time error
+  method175(covariant String a) => null; //# 175: ok
+  method176(covariant String a) => null; //# 176: compile-time error
+  method177(covariant String a) => null; //# 177: compile-time error
+  method178(covariant String a) => null; //# 178: ok
+  method179(covariant String a) => null; //# 179: ok
+  method180(covariant String a) => null; //# 180: compile-time error
+  method181(covariant String a) => null; //# 181: compile-time error
+  method182(covariant String a) => null; //# 182: ok
+  method183(covariant String a) => null; //# 183: ok
+  method184(covariant String a) => null; //# 184: compile-time error
+  method185(covariant String a) => null; //# 185: compile-time error
+  method186(covariant String a) => null; //# 186: ok
+  method187(covariant String a) => null; //# 187: ok
+  method188(covariant String a) => null; //# 188: compile-time error
+  method189(covariant String a) => null; //# 189: compile-time error
+  method190(covariant String a) => null; //# 190: ok
+  method191(covariant String a) => null; //# 191: compile-time error
+  method192(covariant String a) => null; //# 192: compile-time error
+  method193(covariant String a) => null; //# 193: ok
+  method194(covariant String a) => null; //# 194: compile-time error
+  method195(covariant String a) => null; //# 195: compile-time error
+  method196(covariant String a) => null; //# 196: ok
+  method197(covariant String a) => null; //# 197: ok
+  method198(covariant String a) => null; //# 198: compile-time error
+  method199(covariant String a) => null; //# 199: compile-time error
+  method200(covariant String a) => null; //# 200: ok
+  method201(dynamic a) => null; //# 201: ok
+  method202(dynamic a) => null; //# 202: ok
+  method203(dynamic a) => null; //# 203: ok
+  method204(dynamic a) => null; //# 204: ok
+  method205(dynamic a) => null; //# 205: ok
+  method206(dynamic a) => null; //# 206: ok
+  method207(dynamic a) => null; //# 207: ok
+  method208(dynamic a) => null; //# 208: ok
+  method209(dynamic a) => null; //# 209: ok
+  method210(dynamic a) => null; //# 210: ok
+  method211(dynamic a) => null; //# 211: ok
+  method212(dynamic a) => null; //# 212: compile-time error
+  method213(dynamic a) => null; //# 213: ok
+  method214(dynamic a) => null; //# 214: ok
+  method215(dynamic a) => null; //# 215: ok
+  method216(dynamic a) => null; //# 216: compile-time error
+  method217(dynamic a) => null; //# 217: ok
+  method218(dynamic a) => null; //# 218: ok
+  method219(dynamic a) => null; //# 219: ok
+  method220(dynamic a) => null; //# 220: compile-time error
+  method221(dynamic a) => null; //# 221: ok
+  method222(dynamic a) => null; //# 222: ok
+  method223(dynamic a) => null; //# 223: ok
+  method224(dynamic a) => null; //# 224: compile-time error
+  method225(dynamic a) => null; //# 225: ok
+  method226(dynamic a) => null; //# 226: compile-time error
+  method227(dynamic a) => null; //# 227: compile-time error
+  method228(dynamic a) => null; //# 228: ok
+  method229(dynamic a) => null; //# 229: ok
+  method230(dynamic a) => null; //# 230: compile-time error
+  method231(dynamic a) => null; //# 231: compile-time error
+  method232(dynamic a) => null; //# 232: ok
+  method233(dynamic a) => null; //# 233: ok
+  method234(dynamic a) => null; //# 234: ok
+  method235(dynamic a) => null; //# 235: ok
+  method236(dynamic a) => null; //# 236: ok
+  method237(dynamic a) => null; //# 237: ok
+  method238(dynamic a) => null; //# 238: compile-time error
+  method239(dynamic a) => null; //# 239: compile-time error
+  method240(dynamic a) => null; //# 240: compile-time error
+  method241(dynamic a) => null; //# 241: compile-time error
+  method242(dynamic a) => null; //# 242: compile-time error
+  method243(dynamic a) => null; //# 243: compile-time error
+  method244(num a) => null; //# 244: ok
+  method245(num a) => null; //# 245: ok
+  method246(num a) => null; //# 246: ok
+  method247(num a) => null; //# 247: compile-time error
+  method248(num a) => null; //# 248: ok
+  method249(num a) => null; //# 249: ok
+  method250(num a) => null; //# 250: ok
+  method251(num a) => null; //# 251: compile-time error
+  method252(num a) => null; //# 252: ok
+  method253(num a) => null; //# 253: ok
+  method254(num a) => null; //# 254: ok
+  method255(num a) => null; //# 255: compile-time error
+  method256(num a) => null; //# 256: ok
+  method257(num a) => null; //# 257: ok
+  method258(num a) => null; //# 258: ok
+  method259(num a) => null; //# 259: compile-time error
+  method260(num a) => null; //# 260: ok
+  method261(num a) => null; //# 261: ok
+  method262(num a) => null; //# 262: ok
+  method263(num a) => null; //# 263: compile-time error
+  method264(num a) => null; //# 264: ok
+  method265(num a) => null; //# 265: ok
+  method266(num a) => null; //# 266: ok
+  method267(num a) => null; //# 267: compile-time error
+  method268(num a) => null; //# 268: compile-time error
+  method269(num a) => null; //# 269: ok
+  method270(num a) => null; //# 270: ok
+  method271(num a) => null; //# 271: ok
+  method272(num a) => null; //# 272: compile-time error
+  method273(num a) => null; //# 273: ok
+  method274(num a) => null; //# 274: compile-time error
+  method275(num a) => null; //# 275: compile-time error
+  method276(num a) => null; //# 276: compile-time error
+  method277(num a) => null; //# 277: ok
+  method278(num a) => null; //# 278: ok
+  method279(num a) => null; //# 279: ok
+  method280(num a) => null; //# 280: compile-time error
+  method281(num a) => null; //# 281: ok
+  method282(num a) => null; //# 282: ok
+  method283(num a) => null; //# 283: compile-time error
+  method284(num a) => null; //# 284: compile-time error
+  method285(num a) => null; //# 285: compile-time error
+  method286(num a) => null; //# 286: compile-time error
+  method287(int a) => null; //# 287: ok
+  method288(int a) => null; //# 288: ok
+  method289(int a) => null; //# 289: ok
+  method290(int a) => null; //# 290: compile-time error
+  method291(int a) => null; //# 291: ok
+  method292(int a) => null; //# 292: ok
+  method293(int a) => null; //# 293: ok
+  method294(int a) => null; //# 294: compile-time error
+  method295(int a) => null; //# 295: ok
+  method296(int a) => null; //# 296: ok
+  method297(int a) => null; //# 297: ok
+  method298(int a) => null; //# 298: compile-time error
+  method299(int a) => null; //# 299: ok
+  method300(int a) => null; //# 300: ok
+  method301(int a) => null; //# 301: ok
+  method302(int a) => null; //# 302: compile-time error
+  method303(int a) => null; //# 303: ok
+  method304(int a) => null; //# 304: ok
+  method305(int a) => null; //# 305: ok
+  method306(int a) => null; //# 306: compile-time error
+  method307(int a) => null; //# 307: ok
+  method308(int a) => null; //# 308: ok
+  method309(int a) => null; //# 309: ok
+  method310(int a) => null; //# 310: compile-time error
+  method311(int a) => null; //# 311: compile-time error
+  method312(int a) => null; //# 312: ok
+  method313(int a) => null; //# 313: ok
+  method314(int a) => null; //# 314: ok
+  method315(int a) => null; //# 315: compile-time error
+  method316(int a) => null; //# 316: ok
+  method317(int a) => null; //# 317: compile-time error
+  method318(int a) => null; //# 318: compile-time error
+  method319(int a) => null; //# 319: compile-time error
+  method320(int a) => null; //# 320: ok
+  method321(int a) => null; //# 321: ok
+  method322(int a) => null; //# 322: ok
+  method323(int a) => null; //# 323: compile-time error
+  method324(int a) => null; //# 324: ok
+  method325(int a) => null; //# 325: ok
+  method326(int a) => null; //# 326: compile-time error
+  method327(int a) => null; //# 327: compile-time error
+  method328(int a) => null; //# 328: ok
+  method329(int a) => null; //# 329: ok
+  method330(int a) => null; //# 330: ok
+  method331(int a) => null; //# 331: compile-time error
+  method332(int a) => null; //# 332: ok
+  method333(int a) => null; //# 333: ok
+  method334(int a) => null; //# 334: ok
+  method335(int a) => null; //# 335: compile-time error
+  method336(int a) => null; //# 336: compile-time error
+  method337(String a) => null; //# 337: ok
+  method338(String a) => null; //# 338: compile-time error
+  method339(String a) => null; //# 339: compile-time error
+  method340(String a) => null; //# 340: ok
+  method341(String a) => null; //# 341: ok
+  method342(String a) => null; //# 342: compile-time error
+  method343(String a) => null; //# 343: compile-time error
+  method344(String a) => null; //# 344: ok
+  method345(String a) => null; //# 345: compile-time error
+  method346(String a) => null; //# 346: compile-time error
+  method347(String a) => null; //# 347: ok
+  method348(String a) => null; //# 348: compile-time error
+  method349(String a) => null; //# 349: compile-time error
+  method350(String a) => null; //# 350: ok
+  method351(String a) => null; //# 351: ok
+  method352(String a) => null; //# 352: compile-time error
+  method353(String a) => null; //# 353: compile-time error
+  method354(String a) => null; //# 354: ok
+  method355(String a) => null; //# 355: ok
+  method356(String a) => null; //# 356: compile-time error
+  method357(String a) => null; //# 357: compile-time error
+  method358(String a) => null; //# 358: ok
+  method359(String a) => null; //# 359: ok
+  method360(String a) => null; //# 360: compile-time error
+  method361(String a) => null; //# 361: compile-time error
+  method362(String a) => null; //# 362: compile-time error
+  method363(String a) => null; //# 363: compile-time error
+  method364(String a) => null; //# 364: compile-time error
+  method365(String a) => null; //# 365: ok
+  method366(String a) => null; //# 366: compile-time error
+  method367(String a) => null; //# 367: compile-time error
+  method368(String a) => null; //# 368: ok
+  method369(String a) => null; //# 369: ok
+  method370(String a) => null; //# 370: compile-time error
+  method371(String a) => null; //# 371: compile-time error
+  method372(String a) => null; //# 372: ok
+}
+
+class B extends A {
+  method1(covariant dynamic a) => null; //# 001: continued
+  method2(covariant dynamic a) => null; //# 002: continued
+  method3(covariant dynamic a) => null; //# 003: continued
+  method4(covariant dynamic a) => null; //# 004: continued
+  method5(covariant dynamic a) => null; //# 005: continued
+  method6(covariant dynamic a) => null; //# 006: continued
+  method7(covariant dynamic a) => null; //# 007: continued
+  method8(covariant dynamic a) => null; //# 008: continued
+  method9(covariant num a) => null; //# 009: continued
+  method10(covariant num a) => null; //# 010: continued
+  method11(covariant num a) => null; //# 011: continued
+  method12(covariant num a) => null; //# 012: continued
+  method13(covariant num a) => null; //# 013: continued
+  method14(covariant num a) => null; //# 014: continued
+  method15(covariant num a) => null; //# 015: continued
+  method16(covariant num a) => null; //# 016: continued
+  method17(covariant int a) => null; //# 017: continued
+  method18(covariant int a) => null; //# 018: continued
+  method19(covariant int a) => null; //# 019: continued
+  method20(covariant int a) => null; //# 020: continued
+  method21(covariant int a) => null; //# 021: continued
+  method22(covariant int a) => null; //# 022: continued
+  method23(covariant int a) => null; //# 023: continued
+  method24(covariant int a) => null; //# 024: continued
+  method25(covariant String a) => null; //# 025: continued
+  method26(covariant String a) => null; //# 026: continued
+  method27(covariant String a) => null; //# 027: continued
+  method28(covariant String a) => null; //# 028: continued
+  method29(covariant String a) => null; //# 029: continued
+  method30(covariant String a) => null; //# 030: continued
+  method31(covariant String a) => null; //# 031: continued
+  method32(covariant String a) => null; //# 032: continued
+  method33(dynamic a) => null; //# 033: continued
+  method34(dynamic a) => null; //# 034: continued
+  method35(dynamic a) => null; //# 035: continued
+  method36(dynamic a) => null; //# 036: continued
+  method37(dynamic a) => null; //# 037: continued
+  method38(dynamic a) => null; //# 038: continued
+  method39(dynamic a) => null; //# 039: continued
+  method40(dynamic a) => null; //# 040: continued
+  method41(num a) => null; //# 041: continued
+  method42(num a) => null; //# 042: continued
+  method43(num a) => null; //# 043: continued
+  method44(num a) => null; //# 044: continued
+  method45(num a) => null; //# 045: continued
+  method46(num a) => null; //# 046: continued
+  method47(num a) => null; //# 047: continued
+  method48(num a) => null; //# 048: continued
+  method49(int a) => null; //# 049: continued
+  method50(int a) => null; //# 050: continued
+  method51(int a) => null; //# 051: continued
+  method52(int a) => null; //# 052: continued
+  method53(int a) => null; //# 053: continued
+  method54(int a) => null; //# 054: continued
+  method55(int a) => null; //# 055: continued
+  method56(int a) => null; //# 056: continued
+  method57(String a) => null; //# 057: continued
+  method58(String a) => null; //# 058: continued
+  method59(String a) => null; //# 059: continued
+  method60(String a) => null; //# 060: continued
+  method61(String a) => null; //# 061: continued
+  method62(String a) => null; //# 062: continued
+  method63(String a) => null; //# 063: continued
+  method64(String a) => null; //# 064: continued
+  method65(covariant dynamic a) => null; //# 065: continued
+  method66(covariant dynamic a) => null; //# 066: continued
+  method67(covariant dynamic a) => null; //# 067: continued
+  method68(covariant dynamic a) => null; //# 068: continued
+  method69(covariant dynamic a) => null; //# 069: continued
+  method70(covariant dynamic a) => null; //# 070: continued
+  method71(covariant dynamic a) => null; //# 071: continued
+  method72(covariant dynamic a) => null; //# 072: continued
+  method73(covariant num a) => null; //# 073: continued
+  method74(covariant num a) => null; //# 074: continued
+  method75(covariant num a) => null; //# 075: continued
+  method76(covariant num a) => null; //# 076: continued
+  method77(covariant num a) => null; //# 077: continued
+  method78(covariant num a) => null; //# 078: continued
+  method79(covariant num a) => null; //# 079: continued
+  method80(covariant num a) => null; //# 080: continued
+  method81(covariant int a) => null; //# 081: continued
+  method82(covariant int a) => null; //# 082: continued
+  method83(covariant int a) => null; //# 083: continued
+  method84(covariant int a) => null; //# 084: continued
+  method85(covariant int a) => null; //# 085: continued
+  method86(covariant int a) => null; //# 086: continued
+  method87(covariant int a) => null; //# 087: continued
+  method88(covariant int a) => null; //# 088: continued
+  method89(covariant String a) => null; //# 089: continued
+  method90(dynamic a) => null; //# 090: continued
+  method91(dynamic a) => null; //# 091: continued
+  method92(dynamic a) => null; //# 092: continued
+  method93(dynamic a) => null; //# 093: continued
+  method94(dynamic a) => null; //# 094: continued
+  method95(dynamic a) => null; //# 095: continued
+  method96(dynamic a) => null; //# 096: continued
+  method97(dynamic a) => null; //# 097: continued
+  method98(num a) => null; //# 098: continued
+  method99(num a) => null; //# 099: continued
+  method100(num a) => null; //# 100: continued
+  method101(num a) => null; //# 101: continued
+  method102(num a) => null; //# 102: continued
+  method103(num a) => null; //# 103: continued
+  method104(num a) => null; //# 104: continued
+  method105(num a) => null; //# 105: continued
+  method106(int a) => null; //# 106: continued
+  method107(int a) => null; //# 107: continued
+  method108(int a) => null; //# 108: continued
+  method109(int a) => null; //# 109: continued
+  method110(int a) => null; //# 110: continued
+  method111(int a) => null; //# 111: continued
+  method112(int a) => null; //# 112: continued
+  method113(int a) => null; //# 113: continued
+  method114(String a) => null; //# 114: continued
+  method115(covariant dynamic a) => null; //# 115: continued
+  method116(covariant dynamic a) => null; //# 116: continued
+  method117(covariant dynamic a) => null; //# 117: continued
+  method118(covariant dynamic a) => null; //# 118: continued
+  method119(covariant dynamic a) => null; //# 119: continued
+  method120(covariant dynamic a) => null; //# 120: continued
+  method121(covariant dynamic a) => null; //# 121: continued
+  method122(covariant dynamic a) => null; //# 122: continued
+  method123(covariant num a) => null; //# 123: continued
+  method124(covariant num a) => null; //# 124: continued
+  method125(covariant num a) => null; //# 125: continued
+  method126(covariant num a) => null; //# 126: continued
+  method127(covariant num a) => null; //# 127: continued
+  method128(covariant num a) => null; //# 128: continued
+  method129(covariant num a) => null; //# 129: continued
+  method130(covariant num a) => null; //# 130: continued
+  method131(covariant int a) => null; //# 131: continued
+  method132(covariant int a) => null; //# 132: continued
+  method133(covariant int a) => null; //# 133: continued
+  method134(covariant int a) => null; //# 134: continued
+  method135(covariant int a) => null; //# 135: continued
+  method136(covariant int a) => null; //# 136: continued
+  method137(covariant int a) => null; //# 137: continued
+  method138(covariant int a) => null; //# 138: continued
+  method139(covariant String a) => null; //# 139: continued
+  method140(dynamic a) => null; //# 140: continued
+  method141(dynamic a) => null; //# 141: continued
+  method142(dynamic a) => null; //# 142: continued
+  method143(dynamic a) => null; //# 143: continued
+  method144(dynamic a) => null; //# 144: continued
+  method145(dynamic a) => null; //# 145: continued
+  method146(dynamic a) => null; //# 146: continued
+  method147(dynamic a) => null; //# 147: continued
+  method148(num a) => null; //# 148: continued
+  method149(num a) => null; //# 149: continued
+  method150(num a) => null; //# 150: continued
+  method151(num a) => null; //# 151: continued
+  method152(num a) => null; //# 152: continued
+  method153(num a) => null; //# 153: continued
+  method154(num a) => null; //# 154: continued
+  method155(num a) => null; //# 155: continued
+  method156(int a) => null; //# 156: continued
+  method157(int a) => null; //# 157: continued
+  method158(int a) => null; //# 158: continued
+  method159(int a) => null; //# 159: continued
+  method160(int a) => null; //# 160: continued
+  method161(int a) => null; //# 161: continued
+  method162(int a) => null; //# 162: continued
+  method163(int a) => null; //# 163: continued
+  method164(String a) => null; //# 164: continued
+  method165(covariant dynamic a) => null; //# 165: continued
+  method166(covariant dynamic a) => null; //# 166: continued
+  method167(covariant dynamic a) => null; //# 167: continued
+  method168(covariant dynamic a) => null; //# 168: continued
+  method169(covariant dynamic a) => null; //# 169: continued
+  method170(covariant dynamic a) => null; //# 170: continued
+  method171(covariant dynamic a) => null; //# 171: continued
+  method172(covariant dynamic a) => null; //# 172: continued
+  method173(covariant num a) => null; //# 173: continued
+  method174(covariant int a) => null; //# 174: continued
+  method175(covariant String a) => null; //# 175: continued
+  method176(covariant String a) => null; //# 176: continued
+  method177(covariant String a) => null; //# 177: continued
+  method178(covariant String a) => null; //# 178: continued
+  method179(covariant String a) => null; //# 179: continued
+  method180(covariant String a) => null; //# 180: continued
+  method181(covariant String a) => null; //# 181: continued
+  method182(covariant String a) => null; //# 182: continued
+  method183(dynamic a) => null; //# 183: continued
+  method184(dynamic a) => null; //# 184: continued
+  method185(dynamic a) => null; //# 185: continued
+  method186(dynamic a) => null; //# 186: continued
+  method187(dynamic a) => null; //# 187: continued
+  method188(dynamic a) => null; //# 188: continued
+  method189(dynamic a) => null; //# 189: continued
+  method190(dynamic a) => null; //# 190: continued
+  method191(num a) => null; //# 191: continued
+  method192(int a) => null; //# 192: continued
+  method193(String a) => null; //# 193: continued
+  method194(String a) => null; //# 194: continued
+  method195(String a) => null; //# 195: continued
+  method196(String a) => null; //# 196: continued
+  method197(String a) => null; //# 197: continued
+  method198(String a) => null; //# 198: continued
+  method199(String a) => null; //# 199: continued
+  method200(String a) => null; //# 200: continued
+  method201(covariant dynamic a) => null; //# 201: continued
+  method202(covariant dynamic a) => null; //# 202: continued
+  method203(covariant dynamic a) => null; //# 203: continued
+  method204(covariant dynamic a) => null; //# 204: continued
+  method205(covariant dynamic a) => null; //# 205: continued
+  method206(covariant dynamic a) => null; //# 206: continued
+  method207(covariant dynamic a) => null; //# 207: continued
+  method208(covariant dynamic a) => null; //# 208: continued
+  method209(covariant num a) => null; //# 209: continued
+  method210(covariant num a) => null; //# 210: continued
+  method211(covariant num a) => null; //# 211: continued
+  method212(covariant num a) => null; //# 212: continued
+  method213(covariant num a) => null; //# 213: continued
+  method214(covariant num a) => null; //# 214: continued
+  method215(covariant num a) => null; //# 215: continued
+  method216(covariant num a) => null; //# 216: continued
+  method217(covariant int a) => null; //# 217: continued
+  method218(covariant int a) => null; //# 218: continued
+  method219(covariant int a) => null; //# 219: continued
+  method220(covariant int a) => null; //# 220: continued
+  method221(covariant int a) => null; //# 221: continued
+  method222(covariant int a) => null; //# 222: continued
+  method223(covariant int a) => null; //# 223: continued
+  method224(covariant int a) => null; //# 224: continued
+  method225(covariant String a) => null; //# 225: continued
+  method226(covariant String a) => null; //# 226: continued
+  method227(covariant String a) => null; //# 227: continued
+  method228(covariant String a) => null; //# 228: continued
+  method229(covariant String a) => null; //# 229: continued
+  method230(covariant String a) => null; //# 230: continued
+  method231(covariant String a) => null; //# 231: continued
+  method232(covariant String a) => null; //# 232: continued
+  method233(dynamic a) => null; //# 233: continued
+  method234(dynamic a) => null; //# 234: continued
+  method235(dynamic a) => null; //# 235: continued
+  method236(dynamic a) => null; //# 236: continued
+  method237(dynamic a) => null; //# 237: continued
+  method238(dynamic a) => null; //# 238: continued
+  method239(dynamic a) => null; //# 239: continued
+  method240(dynamic a) => null; //# 240: continued
+  method241(num a) => null; //# 241: continued
+  method242(int a) => null; //# 242: continued
+  method243(String a) => null; //# 243: continued
+  method244(covariant dynamic a) => null; //# 244: continued
+  method245(covariant dynamic a) => null; //# 245: continued
+  method246(covariant dynamic a) => null; //# 246: continued
+  method247(covariant dynamic a) => null; //# 247: continued
+  method248(covariant dynamic a) => null; //# 248: continued
+  method249(covariant dynamic a) => null; //# 249: continued
+  method250(covariant dynamic a) => null; //# 250: continued
+  method251(covariant dynamic a) => null; //# 251: continued
+  method252(covariant num a) => null; //# 252: continued
+  method253(covariant num a) => null; //# 253: continued
+  method254(covariant num a) => null; //# 254: continued
+  method255(covariant num a) => null; //# 255: continued
+  method256(covariant num a) => null; //# 256: continued
+  method257(covariant num a) => null; //# 257: continued
+  method258(covariant num a) => null; //# 258: continued
+  method259(covariant num a) => null; //# 259: continued
+  method260(covariant int a) => null; //# 260: continued
+  method261(covariant int a) => null; //# 261: continued
+  method262(covariant int a) => null; //# 262: continued
+  method263(covariant int a) => null; //# 263: continued
+  method264(covariant int a) => null; //# 264: continued
+  method265(covariant int a) => null; //# 265: continued
+  method266(covariant int a) => null; //# 266: continued
+  method267(covariant int a) => null; //# 267: continued
+  method268(covariant String a) => null; //# 268: continued
+  method269(dynamic a) => null; //# 269: continued
+  method270(dynamic a) => null; //# 270: continued
+  method271(dynamic a) => null; //# 271: continued
+  method272(dynamic a) => null; //# 272: continued
+  method273(dynamic a) => null; //# 273: continued
+  method274(dynamic a) => null; //# 274: continued
+  method275(dynamic a) => null; //# 275: continued
+  method276(dynamic a) => null; //# 276: continued
+  method277(num a) => null; //# 277: continued
+  method278(num a) => null; //# 278: continued
+  method279(num a) => null; //# 279: continued
+  method280(num a) => null; //# 280: continued
+  method281(num a) => null; //# 281: continued
+  method282(num a) => null; //# 282: continued
+  method283(num a) => null; //# 283: continued
+  method284(num a) => null; //# 284: continued
+  method285(int a) => null; //# 285: continued
+  method286(String a) => null; //# 286: continued
+  method287(covariant dynamic a) => null; //# 287: continued
+  method288(covariant dynamic a) => null; //# 288: continued
+  method289(covariant dynamic a) => null; //# 289: continued
+  method290(covariant dynamic a) => null; //# 290: continued
+  method291(covariant dynamic a) => null; //# 291: continued
+  method292(covariant dynamic a) => null; //# 292: continued
+  method293(covariant dynamic a) => null; //# 293: continued
+  method294(covariant dynamic a) => null; //# 294: continued
+  method295(covariant num a) => null; //# 295: continued
+  method296(covariant num a) => null; //# 296: continued
+  method297(covariant num a) => null; //# 297: continued
+  method298(covariant num a) => null; //# 298: continued
+  method299(covariant num a) => null; //# 299: continued
+  method300(covariant num a) => null; //# 300: continued
+  method301(covariant num a) => null; //# 301: continued
+  method302(covariant num a) => null; //# 302: continued
+  method303(covariant int a) => null; //# 303: continued
+  method304(covariant int a) => null; //# 304: continued
+  method305(covariant int a) => null; //# 305: continued
+  method306(covariant int a) => null; //# 306: continued
+  method307(covariant int a) => null; //# 307: continued
+  method308(covariant int a) => null; //# 308: continued
+  method309(covariant int a) => null; //# 309: continued
+  method310(covariant int a) => null; //# 310: continued
+  method311(covariant String a) => null; //# 311: continued
+  method312(dynamic a) => null; //# 312: continued
+  method313(dynamic a) => null; //# 313: continued
+  method314(dynamic a) => null; //# 314: continued
+  method315(dynamic a) => null; //# 315: continued
+  method316(dynamic a) => null; //# 316: continued
+  method317(dynamic a) => null; //# 317: continued
+  method318(dynamic a) => null; //# 318: continued
+  method319(dynamic a) => null; //# 319: continued
+  method320(num a) => null; //# 320: continued
+  method321(num a) => null; //# 321: continued
+  method322(num a) => null; //# 322: continued
+  method323(num a) => null; //# 323: continued
+  method324(num a) => null; //# 324: continued
+  method325(num a) => null; //# 325: continued
+  method326(num a) => null; //# 326: continued
+  method327(num a) => null; //# 327: continued
+  method328(int a) => null; //# 328: continued
+  method329(int a) => null; //# 329: continued
+  method330(int a) => null; //# 330: continued
+  method331(int a) => null; //# 331: continued
+  method332(int a) => null; //# 332: continued
+  method333(int a) => null; //# 333: continued
+  method334(int a) => null; //# 334: continued
+  method335(int a) => null; //# 335: continued
+  method336(String a) => null; //# 336: continued
+  method337(covariant dynamic a) => null; //# 337: continued
+  method338(covariant dynamic a) => null; //# 338: continued
+  method339(covariant dynamic a) => null; //# 339: continued
+  method340(covariant dynamic a) => null; //# 340: continued
+  method341(covariant dynamic a) => null; //# 341: continued
+  method342(covariant dynamic a) => null; //# 342: continued
+  method343(covariant dynamic a) => null; //# 343: continued
+  method344(covariant dynamic a) => null; //# 344: continued
+  method345(covariant num a) => null; //# 345: continued
+  method346(covariant int a) => null; //# 346: continued
+  method347(covariant String a) => null; //# 347: continued
+  method348(covariant String a) => null; //# 348: continued
+  method349(covariant String a) => null; //# 349: continued
+  method350(covariant String a) => null; //# 350: continued
+  method351(covariant String a) => null; //# 351: continued
+  method352(covariant String a) => null; //# 352: continued
+  method353(covariant String a) => null; //# 353: continued
+  method354(covariant String a) => null; //# 354: continued
+  method355(dynamic a) => null; //# 355: continued
+  method356(dynamic a) => null; //# 356: continued
+  method357(dynamic a) => null; //# 357: continued
+  method358(dynamic a) => null; //# 358: continued
+  method359(dynamic a) => null; //# 359: continued
+  method360(dynamic a) => null; //# 360: continued
+  method361(dynamic a) => null; //# 361: continued
+  method362(dynamic a) => null; //# 362: continued
+  method363(num a) => null; //# 363: continued
+  method364(int a) => null; //# 364: continued
+  method365(String a) => null; //# 365: continued
+  method366(String a) => null; //# 366: continued
+  method367(String a) => null; //# 367: continued
+  method368(String a) => null; //# 368: continued
+  method369(String a) => null; //# 369: continued
+  method370(String a) => null; //# 370: continued
+  method371(String a) => null; //# 371: continued
+  method372(String a) => null; //# 372: continued
+}
+
+class C extends B {
+  method1(covariant dynamic a) => null; //# 001: continued
+  method2(covariant num a) => null; //# 002: continued
+  method3(covariant int a) => null; //# 003: continued
+  method4(covariant String a) => null; //# 004: continued
+  method5(dynamic a) => null; //# 005: continued
+  method6(num a) => null; //# 006: continued
+  method7(int a) => null; //# 007: continued
+  method8(String a) => null; //# 008: continued
+  method9(covariant dynamic a) => null; //# 009: continued
+  method10(covariant num a) => null; //# 010: continued
+  method11(covariant int a) => null; //# 011: continued
+  method12(covariant String a) => null; //# 012: continued
+  method13(dynamic a) => null; //# 013: continued
+  method14(num a) => null; //# 014: continued
+  method15(int a) => null; //# 015: continued
+  method16(String a) => null; //# 016: continued
+  method17(covariant dynamic a) => null; //# 017: continued
+  method18(covariant num a) => null; //# 018: continued
+  method19(covariant int a) => null; //# 019: continued
+  method20(covariant String a) => null; //# 020: continued
+  method21(dynamic a) => null; //# 021: continued
+  method22(num a) => null; //# 022: continued
+  method23(int a) => null; //# 023: continued
+  method24(String a) => null; //# 024: continued
+  method25(covariant dynamic a) => null; //# 025: continued
+  method26(covariant num a) => null; //# 026: continued
+  method27(covariant int a) => null; //# 027: continued
+  method28(covariant String a) => null; //# 028: continued
+  method29(dynamic a) => null; //# 029: continued
+  method30(num a) => null; //# 030: continued
+  method31(int a) => null; //# 031: continued
+  method32(String a) => null; //# 032: continued
+  method33(covariant dynamic a) => null; //# 033: continued
+  method34(covariant num a) => null; //# 034: continued
+  method35(covariant int a) => null; //# 035: continued
+  method36(covariant String a) => null; //# 036: continued
+  method37(dynamic a) => null; //# 037: continued
+  method38(num a) => null; //# 038: continued
+  method39(int a) => null; //# 039: continued
+  method40(String a) => null; //# 040: continued
+  method41(covariant dynamic a) => null; //# 041: continued
+  method42(covariant num a) => null; //# 042: continued
+  method43(covariant int a) => null; //# 043: continued
+  method44(covariant String a) => null; //# 044: continued
+  method45(dynamic a) => null; //# 045: continued
+  method46(num a) => null; //# 046: continued
+  method47(int a) => null; //# 047: continued
+  method48(String a) => null; //# 048: continued
+  method49(covariant dynamic a) => null; //# 049: continued
+  method50(covariant num a) => null; //# 050: continued
+  method51(covariant int a) => null; //# 051: continued
+  method52(covariant String a) => null; //# 052: continued
+  method53(dynamic a) => null; //# 053: continued
+  method54(num a) => null; //# 054: continued
+  method55(int a) => null; //# 055: continued
+  method56(String a) => null; //# 056: continued
+  method57(covariant dynamic a) => null; //# 057: continued
+  method58(covariant num a) => null; //# 058: continued
+  method59(covariant int a) => null; //# 059: continued
+  method60(covariant String a) => null; //# 060: continued
+  method61(dynamic a) => null; //# 061: continued
+  method62(num a) => null; //# 062: continued
+  method63(int a) => null; //# 063: continued
+  method64(String a) => null; //# 064: continued
+  method65(covariant dynamic a) => null; //# 065: continued
+  method66(covariant num a) => null; //# 066: continued
+  method67(covariant int a) => null; //# 067: continued
+  method68(covariant String a) => null; //# 068: continued
+  method69(dynamic a) => null; //# 069: continued
+  method70(num a) => null; //# 070: continued
+  method71(int a) => null; //# 071: continued
+  method72(String a) => null; //# 072: continued
+  method73(covariant dynamic a) => null; //# 073: continued
+  method74(covariant num a) => null; //# 074: continued
+  method75(covariant int a) => null; //# 075: continued
+  method76(covariant String a) => null; //# 076: continued
+  method77(dynamic a) => null; //# 077: continued
+  method78(num a) => null; //# 078: continued
+  method79(int a) => null; //# 079: continued
+  method80(String a) => null; //# 080: continued
+  method81(covariant dynamic a) => null; //# 081: continued
+  method82(covariant num a) => null; //# 082: continued
+  method83(covariant int a) => null; //# 083: continued
+  method84(covariant String a) => null; //# 084: continued
+  method85(dynamic a) => null; //# 085: continued
+  method86(num a) => null; //# 086: continued
+  method87(int a) => null; //# 087: continued
+  method88(String a) => null; //# 088: continued
+  method90(covariant dynamic a) => null; //# 090: continued
+  method91(covariant num a) => null; //# 091: continued
+  method92(covariant int a) => null; //# 092: continued
+  method93(covariant String a) => null; //# 093: continued
+  method94(dynamic a) => null; //# 094: continued
+  method95(num a) => null; //# 095: continued
+  method96(int a) => null; //# 096: continued
+  method97(String a) => null; //# 097: continued
+  method98(covariant dynamic a) => null; //# 098: continued
+  method99(covariant num a) => null; //# 099: continued
+  method100(covariant int a) => null; //# 100: continued
+  method101(covariant String a) => null; //# 101: continued
+  method102(dynamic a) => null; //# 102: continued
+  method103(num a) => null; //# 103: continued
+  method104(int a) => null; //# 104: continued
+  method105(String a) => null; //# 105: continued
+  method106(covariant dynamic a) => null; //# 106: continued
+  method107(covariant num a) => null; //# 107: continued
+  method108(covariant int a) => null; //# 108: continued
+  method109(covariant String a) => null; //# 109: continued
+  method110(dynamic a) => null; //# 110: continued
+  method111(num a) => null; //# 111: continued
+  method112(int a) => null; //# 112: continued
+  method113(String a) => null; //# 113: continued
+  method115(covariant dynamic a) => null; //# 115: continued
+  method116(covariant num a) => null; //# 116: continued
+  method117(covariant int a) => null; //# 117: continued
+  method118(covariant String a) => null; //# 118: continued
+  method119(dynamic a) => null; //# 119: continued
+  method120(num a) => null; //# 120: continued
+  method121(int a) => null; //# 121: continued
+  method122(String a) => null; //# 122: continued
+  method123(covariant dynamic a) => null; //# 123: continued
+  method124(covariant num a) => null; //# 124: continued
+  method125(covariant int a) => null; //# 125: continued
+  method126(covariant String a) => null; //# 126: continued
+  method127(dynamic a) => null; //# 127: continued
+  method128(num a) => null; //# 128: continued
+  method129(int a) => null; //# 129: continued
+  method130(String a) => null; //# 130: continued
+  method131(covariant dynamic a) => null; //# 131: continued
+  method132(covariant num a) => null; //# 132: continued
+  method133(covariant int a) => null; //# 133: continued
+  method134(covariant String a) => null; //# 134: continued
+  method135(dynamic a) => null; //# 135: continued
+  method136(num a) => null; //# 136: continued
+  method137(int a) => null; //# 137: continued
+  method138(String a) => null; //# 138: continued
+  method140(covariant dynamic a) => null; //# 140: continued
+  method141(covariant num a) => null; //# 141: continued
+  method142(covariant int a) => null; //# 142: continued
+  method143(covariant String a) => null; //# 143: continued
+  method144(dynamic a) => null; //# 144: continued
+  method145(num a) => null; //# 145: continued
+  method146(int a) => null; //# 146: continued
+  method147(String a) => null; //# 147: continued
+  method148(covariant dynamic a) => null; //# 148: continued
+  method149(covariant num a) => null; //# 149: continued
+  method150(covariant int a) => null; //# 150: continued
+  method151(covariant String a) => null; //# 151: continued
+  method152(dynamic a) => null; //# 152: continued
+  method153(num a) => null; //# 153: continued
+  method154(int a) => null; //# 154: continued
+  method155(String a) => null; //# 155: continued
+  method156(covariant dynamic a) => null; //# 156: continued
+  method157(covariant num a) => null; //# 157: continued
+  method158(covariant int a) => null; //# 158: continued
+  method159(covariant String a) => null; //# 159: continued
+  method160(dynamic a) => null; //# 160: continued
+  method161(num a) => null; //# 161: continued
+  method162(int a) => null; //# 162: continued
+  method163(String a) => null; //# 163: continued
+  method165(covariant dynamic a) => null; //# 165: continued
+  method166(covariant num a) => null; //# 166: continued
+  method167(covariant int a) => null; //# 167: continued
+  method168(covariant String a) => null; //# 168: continued
+  method169(dynamic a) => null; //# 169: continued
+  method170(num a) => null; //# 170: continued
+  method171(int a) => null; //# 171: continued
+  method172(String a) => null; //# 172: continued
+  method175(covariant dynamic a) => null; //# 175: continued
+  method176(covariant num a) => null; //# 176: continued
+  method177(covariant int a) => null; //# 177: continued
+  method178(covariant String a) => null; //# 178: continued
+  method179(dynamic a) => null; //# 179: continued
+  method180(num a) => null; //# 180: continued
+  method181(int a) => null; //# 181: continued
+  method182(String a) => null; //# 182: continued
+  method183(covariant dynamic a) => null; //# 183: continued
+  method184(covariant num a) => null; //# 184: continued
+  method185(covariant int a) => null; //# 185: continued
+  method186(covariant String a) => null; //# 186: continued
+  method187(dynamic a) => null; //# 187: continued
+  method188(num a) => null; //# 188: continued
+  method189(int a) => null; //# 189: continued
+  method190(String a) => null; //# 190: continued
+  method193(covariant dynamic a) => null; //# 193: continued
+  method194(covariant num a) => null; //# 194: continued
+  method195(covariant int a) => null; //# 195: continued
+  method196(covariant String a) => null; //# 196: continued
+  method197(dynamic a) => null; //# 197: continued
+  method198(num a) => null; //# 198: continued
+  method199(int a) => null; //# 199: continued
+  method200(String a) => null; //# 200: continued
+  method201(covariant dynamic a) => null; //# 201: continued
+  method202(covariant num a) => null; //# 202: continued
+  method203(covariant int a) => null; //# 203: continued
+  method204(covariant String a) => null; //# 204: continued
+  method205(dynamic a) => null; //# 205: continued
+  method206(num a) => null; //# 206: continued
+  method207(int a) => null; //# 207: continued
+  method208(String a) => null; //# 208: continued
+  method209(covariant dynamic a) => null; //# 209: continued
+  method210(covariant num a) => null; //# 210: continued
+  method211(covariant int a) => null; //# 211: continued
+  method212(covariant String a) => null; //# 212: continued
+  method213(dynamic a) => null; //# 213: continued
+  method214(num a) => null; //# 214: continued
+  method215(int a) => null; //# 215: continued
+  method216(String a) => null; //# 216: continued
+  method217(covariant dynamic a) => null; //# 217: continued
+  method218(covariant num a) => null; //# 218: continued
+  method219(covariant int a) => null; //# 219: continued
+  method220(covariant String a) => null; //# 220: continued
+  method221(dynamic a) => null; //# 221: continued
+  method222(num a) => null; //# 222: continued
+  method223(int a) => null; //# 223: continued
+  method224(String a) => null; //# 224: continued
+  method225(covariant dynamic a) => null; //# 225: continued
+  method226(covariant num a) => null; //# 226: continued
+  method227(covariant int a) => null; //# 227: continued
+  method228(covariant String a) => null; //# 228: continued
+  method229(dynamic a) => null; //# 229: continued
+  method230(num a) => null; //# 230: continued
+  method231(int a) => null; //# 231: continued
+  method232(String a) => null; //# 232: continued
+  method233(covariant dynamic a) => null; //# 233: continued
+  method234(covariant num a) => null; //# 234: continued
+  method235(covariant int a) => null; //# 235: continued
+  method236(covariant String a) => null; //# 236: continued
+  method237(dynamic a) => null; //# 237: continued
+  method238(num a) => null; //# 238: continued
+  method239(int a) => null; //# 239: continued
+  method240(String a) => null; //# 240: continued
+  method244(covariant dynamic a) => null; //# 244: continued
+  method245(covariant num a) => null; //# 245: continued
+  method246(covariant int a) => null; //# 246: continued
+  method247(covariant String a) => null; //# 247: continued
+  method248(dynamic a) => null; //# 248: continued
+  method249(num a) => null; //# 249: continued
+  method250(int a) => null; //# 250: continued
+  method251(String a) => null; //# 251: continued
+  method252(covariant dynamic a) => null; //# 252: continued
+  method253(covariant num a) => null; //# 253: continued
+  method254(covariant int a) => null; //# 254: continued
+  method255(covariant String a) => null; //# 255: continued
+  method256(dynamic a) => null; //# 256: continued
+  method257(num a) => null; //# 257: continued
+  method258(int a) => null; //# 258: continued
+  method259(String a) => null; //# 259: continued
+  method260(covariant dynamic a) => null; //# 260: continued
+  method261(covariant num a) => null; //# 261: continued
+  method262(covariant int a) => null; //# 262: continued
+  method263(covariant String a) => null; //# 263: continued
+  method264(dynamic a) => null; //# 264: continued
+  method265(num a) => null; //# 265: continued
+  method266(int a) => null; //# 266: continued
+  method267(String a) => null; //# 267: continued
+  method269(covariant dynamic a) => null; //# 269: continued
+  method270(covariant num a) => null; //# 270: continued
+  method271(covariant int a) => null; //# 271: continued
+  method272(covariant String a) => null; //# 272: continued
+  method273(dynamic a) => null; //# 273: continued
+  method274(num a) => null; //# 274: continued
+  method275(int a) => null; //# 275: continued
+  method276(String a) => null; //# 276: continued
+  method277(covariant dynamic a) => null; //# 277: continued
+  method278(covariant num a) => null; //# 278: continued
+  method279(covariant int a) => null; //# 279: continued
+  method280(covariant String a) => null; //# 280: continued
+  method281(dynamic a) => null; //# 281: continued
+  method282(num a) => null; //# 282: continued
+  method283(int a) => null; //# 283: continued
+  method284(String a) => null; //# 284: continued
+  method287(covariant dynamic a) => null; //# 287: continued
+  method288(covariant num a) => null; //# 288: continued
+  method289(covariant int a) => null; //# 289: continued
+  method290(covariant String a) => null; //# 290: continued
+  method291(dynamic a) => null; //# 291: continued
+  method292(num a) => null; //# 292: continued
+  method293(int a) => null; //# 293: continued
+  method294(String a) => null; //# 294: continued
+  method295(covariant dynamic a) => null; //# 295: continued
+  method296(covariant num a) => null; //# 296: continued
+  method297(covariant int a) => null; //# 297: continued
+  method298(covariant String a) => null; //# 298: continued
+  method299(dynamic a) => null; //# 299: continued
+  method300(num a) => null; //# 300: continued
+  method301(int a) => null; //# 301: continued
+  method302(String a) => null; //# 302: continued
+  method303(covariant dynamic a) => null; //# 303: continued
+  method304(covariant num a) => null; //# 304: continued
+  method305(covariant int a) => null; //# 305: continued
+  method306(covariant String a) => null; //# 306: continued
+  method307(dynamic a) => null; //# 307: continued
+  method308(num a) => null; //# 308: continued
+  method309(int a) => null; //# 309: continued
+  method310(String a) => null; //# 310: continued
+  method312(covariant dynamic a) => null; //# 312: continued
+  method313(covariant num a) => null; //# 313: continued
+  method314(covariant int a) => null; //# 314: continued
+  method315(covariant String a) => null; //# 315: continued
+  method316(dynamic a) => null; //# 316: continued
+  method317(num a) => null; //# 317: continued
+  method318(int a) => null; //# 318: continued
+  method319(String a) => null; //# 319: continued
+  method320(covariant dynamic a) => null; //# 320: continued
+  method321(covariant num a) => null; //# 321: continued
+  method322(covariant int a) => null; //# 322: continued
+  method323(covariant String a) => null; //# 323: continued
+  method324(dynamic a) => null; //# 324: continued
+  method325(num a) => null; //# 325: continued
+  method326(int a) => null; //# 326: continued
+  method327(String a) => null; //# 327: continued
+  method328(covariant dynamic a) => null; //# 328: continued
+  method329(covariant num a) => null; //# 329: continued
+  method330(covariant int a) => null; //# 330: continued
+  method331(covariant String a) => null; //# 331: continued
+  method332(dynamic a) => null; //# 332: continued
+  method333(num a) => null; //# 333: continued
+  method334(int a) => null; //# 334: continued
+  method335(String a) => null; //# 335: continued
+  method337(covariant dynamic a) => null; //# 337: continued
+  method338(covariant num a) => null; //# 338: continued
+  method339(covariant int a) => null; //# 339: continued
+  method340(covariant String a) => null; //# 340: continued
+  method341(dynamic a) => null; //# 341: continued
+  method342(num a) => null; //# 342: continued
+  method343(int a) => null; //# 343: continued
+  method344(String a) => null; //# 344: continued
+  method347(covariant dynamic a) => null; //# 347: continued
+  method348(covariant num a) => null; //# 348: continued
+  method349(covariant int a) => null; //# 349: continued
+  method350(covariant String a) => null; //# 350: continued
+  method351(dynamic a) => null; //# 351: continued
+  method352(num a) => null; //# 352: continued
+  method353(int a) => null; //# 353: continued
+  method354(String a) => null; //# 354: continued
+  method355(covariant dynamic a) => null; //# 355: continued
+  method356(covariant num a) => null; //# 356: continued
+  method357(covariant int a) => null; //# 357: continued
+  method358(covariant String a) => null; //# 358: continued
+  method359(dynamic a) => null; //# 359: continued
+  method360(num a) => null; //# 360: continued
+  method361(int a) => null; //# 361: continued
+  method362(String a) => null; //# 362: continued
+  method365(covariant dynamic a) => null; //# 365: continued
+  method366(covariant num a) => null; //# 366: continued
+  method367(covariant int a) => null; //# 367: continued
+  method368(covariant String a) => null; //# 368: continued
+  method369(dynamic a) => null; //# 369: continued
+  method370(num a) => null; //# 370: continued
+  method371(int a) => null; //# 371: continued
+  method372(String a) => null; //# 372: continued
+}
diff --git a/tests/language_2/override_inheritance_setter_test.dart b/tests/language_2/override_inheritance_setter_test.dart
new file mode 100644
index 0000000..f709c75
--- /dev/null
+++ b/tests/language_2/override_inheritance_setter_test.dart
@@ -0,0 +1,32 @@
+main() {
+  new C();
+}
+
+class A {
+  void set setter1(num x) {} //# 001: compile-time error
+  void set setter2(num x) {} //# 002: compile-time error
+  void set setter3(num x) {} //# 003: ok
+  void set setter4(num x) {} //# 004: compile-time error
+  void set setter5(num x) {} //# 005: ok
+  void set setter6(num x) {} //# 006: compile-time error
+  void set setter7(num x) {} //# 007: ok
+}
+
+class B extends A {
+  void set setter1(covariant dynamic x) {} //# 001: continued
+  void set setter2(int x) {} //# 002: continued
+  void set setter3(covariant dynamic x) {} //# 003: continued
+  void set setter4(dynamic x) {} //# 004: continued
+  void set setter5(covariant dynamic x) {} //# 005: continued
+  covariant dynamic setter6; //# 006: continued
+  covariant dynamic setter7; //# 007: continued
+}
+
+class C extends B {
+  void set setter1(String x) {} //# 001: continued
+  void set setter3(num x) {} //# 003: continued
+  void set setter4(int x) {} //# 004: continued
+  void set setter5(int x) {} //# 005: continued
+  void set setter6(String x) {} //# 006: continued
+  void set setter7(int x) {} //# 007: continued
+}
