diff --git a/tests/language/override/const_field_test.dart b/tests/language/override/const_field_test.dart new file mode 100644 index 00000000000..8018296706c --- /dev/null +++ b/tests/language/override/const_field_test.dart @@ -0,0 +1,23 @@ +// Copyright (c) 2019, 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. +// Dart test checking that static/instance field shadowing do not conflict. + +import 'package:expect/expect.dart'; + +class A { + final field; + const A(this.field); +} + +class B extends A { + final field; + const B(this.field, fieldA) : super(fieldA); + get fieldA => super.field; +} + +main() { + const b = B(1, 2); + Expect.equals(1, b.field); + Expect.equals(2, b.fieldA); +} diff --git a/tests/language/override/field_method1_test.dart b/tests/language/override/field_method1_test.dart new file mode 100644 index 00000000000..bee58696b39 --- /dev/null +++ b/tests/language/override/field_method1_test.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2019, 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. + +/// Overriding field with method. + +class A { + var foo; +} + +class B extends A { + foo() {} +//^^^ +// [analyzer] COMPILE_TIME_ERROR.CONFLICTING_METHOD_AND_FIELD +// [cfe] Can't declare a member that conflicts with an inherited one. +} + +main() { + B().foo(); +} diff --git a/tests/language/override/field_method2_test.dart b/tests/language/override/field_method2_test.dart new file mode 100644 index 00000000000..0b5e4b3d6c0 --- /dev/null +++ b/tests/language/override/field_method2_test.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2019, 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. + +/// Overriding getter with method. + +class A { + get foo => 123; +} + +class B extends A { + foo() {} +//^^^ +// [analyzer] COMPILE_TIME_ERROR.CONFLICTING_METHOD_AND_FIELD +// [cfe] Can't declare a member that conflicts with an inherited one. +} + +main() { + B().foo(); +} diff --git a/tests/language/override/field_method3_test.dart b/tests/language/override/field_method3_test.dart new file mode 100644 index 00000000000..dbd5cfe6440 --- /dev/null +++ b/tests/language/override/field_method3_test.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2019, 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. + +/// Overriding method with field. + +class A { + foo() {} +} + +class B extends A { + var foo; + // ^^^ + // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_FIELD_AND_METHOD + // [cfe] Can't declare a member that conflicts with an inherited one. +} + +main() { + B().foo; +} diff --git a/tests/language/override/field_method4_test.dart b/tests/language/override/field_method4_test.dart new file mode 100644 index 00000000000..eecea072f8a --- /dev/null +++ b/tests/language/override/field_method4_test.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2019, 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. + +/// Overriding method with getter. + +class A { + foo() => 999; +} + +class B extends A { + get foo => 123; + // ^^^ + // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_FIELD_AND_METHOD + // [cfe] Can't declare a member that conflicts with an inherited one. +} + +main() { + B().foo; +} diff --git a/tests/language/override/field_test.dart b/tests/language/override/field_test.dart new file mode 100644 index 00000000000..739eacd56bd --- /dev/null +++ b/tests/language/override/field_test.dart @@ -0,0 +1,19 @@ +// Copyright (c) 2011, 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. +// Dart test checking that static/instance field shadowing do not conflict. + +class A { + int instanceFieldInA = 0; + static int staticFieldInA = 0; +} + +class B extends A { + static int instanceFieldInA = 0; // //# 01: compile-time error + int staticFieldInA = 0; // //# 02: ok + static int staticFieldInA = 0; // //# 03: ok +} + +main() { + var x = new B(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_1_test.dart b/tests/language/override/inheritance_abstract_runtime_1_test.dart new file mode 100644 index 00000000000..97b00578a3d --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_1_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + method1(); + + + + + + + + + + + + +} + +abstract class I { + + + + + + + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + method1() {} + + + + + + + + + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_2_test.dart b/tests/language/override/inheritance_abstract_runtime_2_test.dart new file mode 100644 index 00000000000..2b15235d9ac --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_2_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + method5(); + + + + + + + + + + + +} + +abstract class I { + + + + + + + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + method5() {} + + + + + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_3_test.dart b/tests/language/override/inheritance_abstract_runtime_3_test.dart new file mode 100644 index 00000000000..c54794a41ec --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_3_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + method6(); + + + + + + + + + + +} + +abstract class I { + + + + + + + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + method6([a]) {} + + + + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_4_test.dart b/tests/language/override/inheritance_abstract_runtime_4_test.dart new file mode 100644 index 00000000000..ddfba631c91 --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_4_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + + + + + + + + + + method18() {} + +} + +abstract class I { + + + + + + + + + method18() {} + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + + + + + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_5_test.dart b/tests/language/override/inheritance_abstract_runtime_5_test.dart new file mode 100644 index 00000000000..48a350d1d64 --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_5_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + + + + + + + + + + + method27() {} +} + +abstract class I { + + + + + + + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + + + + + + + + + method27(); +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_6_test.dart b/tests/language/override/inheritance_abstract_runtime_6_test.dart new file mode 100644 index 00000000000..e8b112397c5 --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_6_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + + + + + + + + + + + +} + +abstract class I { + + + + + + method15() {} + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + + + + method15() {} + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_7_test.dart b/tests/language/override/inheritance_abstract_runtime_7_test.dart new file mode 100644 index 00000000000..e1d3cabd90c --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_7_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + + + + + + + + + + + +} + +abstract class I { + + + + + + + method16() {} + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + + + + + method16([a]) {} + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_runtime_test.dart b/tests/language/override/inheritance_abstract_runtime_test.dart new file mode 100644 index 00000000000..40685ca4fe1 --- /dev/null +++ b/tests/language/override/inheritance_abstract_runtime_test.dart @@ -0,0 +1,69 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2014, 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. + +abstract class A { + + + + + + + + + + + + + +} + +abstract class I { + + + + + + + + + + + + + + + + + +} + +abstract class J { + + + +} + +class Class extends A implements I, J { + + + + + + + + + + + + + + +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_abstract_test.dart b/tests/language/override/inheritance_abstract_test.dart new file mode 100644 index 00000000000..9218fab4754 --- /dev/null +++ b/tests/language/override/inheritance_abstract_test.dart @@ -0,0 +1,75 @@ +// Copyright (c) 2014, 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. + +abstract class A { + method1(); + method5(); + method6(); + method7(); + get getter8; + set setter9(_); + method10(); + get getter11; + set setter12(_); + get field13; + set field14(_); + method18() {} + method27() {} +} + +abstract class I { + method10() {} + get getter11 => 0; + set setter12(_) {} + var field13; + var field14; + method15() {} + method16() {} + method17() {} + method18() {} + var member19; + var member20; + var member21; + get member22 => 0; + set member23(_) {} + var member24; + var field25; + var member26; +} + +abstract class J { + get member20 => null; + set member20(_) {} + var member21; +} + +class Class extends A implements I, J { +// ^^^^^ +// [analyzer] STATIC_WARNING.NON_ABSTRACT_CLASS_INHERITS_ABSTRACT_MEMBER +// [cfe] The non-abstract class 'Class' is missing implementations for these members: + method1() {} + method2(); +//^^^^^^^^^^ +// [analyzer] STATIC_WARNING.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER + get getter3; +//^^^^^^^^^^^^ +// [analyzer] STATIC_WARNING.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER + set setter4(_); +//^^^^^^^^^^^^^^^ +// [analyzer] STATIC_WARNING.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER + method5() {} + method6([a]) {} + set field13(_) {} + get field14 => 0; + method15() {} + method16([a]) {} + get member24 => 0; + final field25 = 0; + set member26(_) {} + method27(); +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_field_test.dart b/tests/language/override/inheritance_field_test.dart new file mode 100644 index 00000000000..3843c9151f6 --- /dev/null +++ b/tests/language/override/inheritance_field_test.dart @@ -0,0 +1,127 @@ +// Copyright (c) 2014, 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. + +import "package:meta/meta.dart" show virtual; + +class A { + get getter1 => null; //# 01: ok + num get getter2 => 0; //# 02: ok + num get getter3 => 0; //# 03: ok + int get getter4 => 0; //# 04: compile-time error + int get getter5 => 0; //# 05: compile-time error + int get getter6 => 0; //# 06: compile-time error + int get getter7 => 0; //# 07: compile-time error + int get getter8 => 0; //# 08: compile-time error + + set setter1(_) => null; //# 21: ok + void set setter2(_) {} //# 22: ok + set setter3(_) => null; //# 23: ok + set setter4(_) => null; //# 24: ok + set setter5(num _) => null; //# 25: ok + set setter6(num _) => null; //# 26: compile-time error + set setter7(int _) => null; //# 27: ok + set setter8(int _) => null; //# 28: compile-time error + set setter9(int _) => null; //# 29: compile-time error + set setter10(int _) => null; //# 30: compile-time error + set setter11(int _) => null; //# 31: compile-time error + + @virtual int field1 = 0; //# 41: ok + num field2 = 0; //# 42: compile-time error + int field3 = 0; //# 43: compile-time error + int field4 = 0; //# 44: compile-time error + int field5 = 0; //# 45: compile-time error + @virtual num field6 = 0; //# 46: ok + num field7 = 0; //# 47: compile-time error + num get field8 => 0; //# 48: compile-time error + num field9 = 0; //# 49: compile-time error + num field10 = 0; //# 50: compile-time error + set field11(int _) {} //# 51: ok + void set field12(int _) {} //# 52: ok + num field13 = 0; //# 53: compile-time error + set field14(num _) {} //# 54: compile-time error + num field15 = 0; //# 55: ok +} + +class B extends A { + num get getter6 => 0; //# 06: continued + set setter9(num _) => null; //# 29: continued + num field5 = 0; //# 45: continued +} + +abstract class I { + num get getter7 => 0; //# 07: continued + String get getter8 => ""; //# 08: continued + int get getter9 => 0; //# 09: compile-time error + int get getter10 => 0; //# 10: compile-time error + int get getter11 => 0; //# 11: compile-time error + set setter10(num _) => null; //# 30: continued + set setter11(String _) => null; //# 31: continued + set setter12(int _) => null; //# 32: compile-time error + set setter13(int _) => null; //# 33: compile-time error + set setter13(num _) => null; //# 33a: compile-time error + set setter14(int _) => null; //# 34: compile-time error +} + +abstract class J { + String get getter9 => ""; //# 09: continued + num get getter10 => 0; //# 10: continued + num get getter11 => 0; //# 11: continued + set setter12(String _) => null; //# 32: continued + set setter13(num _) => null; //# 33: continued + set setter13(int _) => null; //# 33a: continued + set setter14(num _) => null; //# 34: continued +} + +abstract class Class extends B implements I, J { + get getter1 => null; //# 01: continued + num get getter2 => 0; //# 02: continued + int get getter3 => 0; //# 03: continued + num get getter4 => 0; //# 04: continued + double get getter5 => 0.0; //# 05: continued + double get getter6 => 0.0; //# 06: continued + double get getter7 => 0.0; //# 07: continued + double get getter8 => 0.0; //# 08: continued + double get getter9 => 0.0; //# 09: continued + + set setter1(_) => null; //# 21: continued + set setter2(_) => null; //# 22: continued + void set setter3(_) {} //# 23: continued + void set setter4(_) {} //# 24: continued + set setter5(num _) => null; //# 25: continued + set setter6(int _) => null; //# 26: continued + set setter7(num _) => null; //# 27: continued + set setter8(double _) => null; //# 28: continued + set setter9(double _) => null; //# 29: continued + set setter10(double _) => null; //# 30: continued + set setter11(double _) => null; //# 31: continued + set setter12(double _) => null; //# 32: continued + + int field1 = 0; //# 41: continued + int field2 = 0; //# 42: continued + num field3 = 0; //# 43: continued + double field4 = 0.0; //# 44: continued + double field5 = 0.0; //# 45: continued + int get field6 => 0; //# 46: continued + String get field7 => ""; //# 47: continued + String field8 = ""; //# 48: continued + set field9(int _) {} //# 49: continued + void set field10(int _) {} //# 50: continued + num field11 = 0; //# 51: continued + num field12 = 0; //# 52: continued + set field13(String _) {} //# 53: continued + String field14 = ""; //# 54: continued + set field15(covariant int _) {} //# 55: continued +} + +class SubClass extends Class { + double get getter10 => 0.0; //# 10: continued + String get getter11 => ""; //# 11: continued + set setter13(double _) => null; //# 33: continued + set setter13(double _) => null; //# 33a: continued + set setter14(String _) => null; //# 34: continued +} + +main() { + new SubClass(); +} diff --git a/tests/language/override/inheritance_generic_test.dart b/tests/language/override/inheritance_generic_test.dart new file mode 100644 index 00000000000..dd0481daaf7 --- /dev/null +++ b/tests/language/override/inheritance_generic_test.dart @@ -0,0 +1,74 @@ +// Copyright (c) 2014, 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. + +class A { + method1(T t) => null; //# 01: ok + method2(T t) => null; //# 02: compile-time error + method4(T t) => null; //# 04: compile-time error + method5(T t) => null; //# 05: ok + method7(T t) => null; //# 07: compile-time error +} + +class B extends A + //# 01: continued + //# 02: continued + //# 04: continued + //# 05: continued +{ + method1(S s) => null; //# 01: continued + method2(int i) => null; //# 02: continued + method3(S s) => null; //# 03: ok + method4(int i) => null; //# 04: continued + method6(S s) => null; //# 06: compile-time error +} + +abstract class I { + method3(U u) => null; //# 03: continued + method6(U u) => null; //# 06: continued + method7(U u) => null; //# 07: continued + method8(U u) => null; //# 08: compile-time error + method9(U u) => null; //# 09: compile-time error + method10(U u) => null; //# 10: compile-time error +} + +abstract class J { + method8(V v) => null; //# 08: continued + method9(V v) => null; //# 09: continued + method10(V v) => null; //# 10: continued +} + +abstract class Class extends B + //# 03: continued + //# 05: continued + //# 06: continued + //# 07: continued + implements + I + //# 03: continued + //# 06: continued + //# 07: continued + //# 08: continued + //# 09: continued + //# 10: continued + , + J + //# 08: continued + //# 09: continued + //# 10: continued +{ + method3(num i) => null; //# 03: continued + method5(W w) => null; //# 05: continued + method6(int i) => null; //# 06: continued + method7(double d) => null; //# 07: continued + method8(double d) => null; //# 08: continued +} + +class SubClass extends Class { + method9(double d) => null; //# 09: continued + method10(String s) => null; //# 10: continued +} + +main() { + new SubClass(); +} diff --git a/tests/language/override/inheritance_method2_test.dart b/tests/language/override/inheritance_method2_test.dart new file mode 100644 index 00000000000..e22571f3e9b --- /dev/null +++ b/tests/language/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/override/inheritance_method_test.dart b/tests/language/override/inheritance_method_test.dart new file mode 100644 index 00000000000..a7870e96af2 --- /dev/null +++ b/tests/language/override/inheritance_method_test.dart @@ -0,0 +1,116 @@ +// Copyright (c) 2014, 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. + +// Test static warnings for method overrides. + +class A { + method1() => null; //# 01: ok + method2(a) => null; //# 02: ok + method3(a, b, c, d) => null; //# 03: ok + method4() => null; //# 04: compile-time error + method6(a, b, c) => null; //# 06: compile-time error + method7([a]) => null; //# 07: ok + method8([a, b]) => null; //# 08: ok + method9([a, b, c]) => null; //# 09: ok + method10([a]) => null; //# 10: ok + method11(a) => null; //# 11: compile-time error + method12(a, [b]) => null; //# 12: compile-time error + method13(a, [b]) => null; //# 13: compile-time error + method14(a, b, [c, d, e]) => null; //# 14: compile-time error + method15({a}) => null; //# 15: ok + method16({a, b}) => null; //# 16: ok + method17({a, b, c}) => null; //# 17: ok + method18(d, {a, b, c}) => null; //# 18: ok + method19({a}) => null; //# 19: compile-time error + method20({a, b}) => null; //# 20: compile-time error + method21({a, b, c, d}) => null; //# 21: compile-time error + + method22(int a) => null; //# 22: ok + method23(int a) => null; //# 23: ok + void method24() {} //# 24: ok + method25() => null; //# 25: ok + void method26() {} //# 26: ok + int method27() => 0; //# 27: compile-time error + method28(int a) => null; //# 28: compile-time error + method29(int a) => null; //# 29: compile-time error + method30(int a) => null; //# 30: compile-time error + method34(int a) => null; //# 34: ok + method35(int a) => null; //# 35: ok + method36(int a) => null; //# 36: compile-time error + method37(num a) => null; //# 37: ok + method38(covariant num a) => null; //# 38: ok + method39(num a) => null; //# 39: compile-time error +} + +class B extends A { + method28(num a) => null; //# 28: continued + method29(a) => null; //# 29: continued + method34(num a) => null; //# 34: continued + method35(dynamic a) => null; //# 35: continued + method36(dynamic a) => null; //# 36: continued + method37(covariant dynamic a) => null; //# 37: continued + method38(dynamic a) => null; //# 38: continued + method39(covariant dynamic a) => null; //# 39: continued +} + +abstract class I { + method5() => null; //# 05: compile-time error + method31(int a) => null; //# 31: compile-time error + method32(int a) => null; //# 32: compile-time error + method33(num a) => null; //# 33: compile-time error +} + +abstract class J { + method31(num a) => null; //# 31: continued + method32(double a) => null; //# 32: continued + method33(int a) => null; //# 33: continued +} + +class Class extends B implements I, J { + method1() => null; //# 01: continued + method2(b) => null; //# 02: continued + method3(b, a, d, c) => null; //# 03: continued + method4(a) => null; //# 04: continued + method5(a) => null; //# 05: continued + method6(a, b, c, d) => null; //# 06: continued + method7([a]) => null; //# 07: continued + method8([b, a]) => null; //# 08: continued + method9([b, d, a, c]) => null; //# 09: continued + method10([a]) => null; //# 10: continued + method11() => null; //# 11: continued + method12(a) => null; //# 12: continued + method13([a]) => null; //# 13: continued + method14([a, b, c, d]) => null; //# 14: continued + method15({a}) => null; //# 15: continued + method16({b, a}) => null; //# 16: continued + method17({b, c, a, d}) => null; //# 17: continued + method18(e, {b, c, a, d}) => null; //# 18: continued + method19() => null; //# 19: continued + method20({b}) => null; //# 20: continued + method21({a, e, d, c}) => null; //# 21: continued + + method22(int a) => null; //# 22: continued + method23(num a) => null; //# 23: continued + method24() => null; //# 24: continued + void method25() {} //# 25: continued + int method26() => 0; //# 26: continued + void method27() {} //# 27: continued + method28(double a) => null; //# 28: continued + method29(String a) => null; //# 29: continued + method30(String a) => null; //# 30: continued + method36(int a) => null; //# 36: continued + method37(int a) => null; //# 37: continued + method38(int a) => null; //# 38: continued + method39(String a) => null; //# 39: continued +} + +class SubClass extends Class { + method31(double a) => null; //# 31: continued + method32(String a) => null; //# 32: continued + method33(double a) => null; //# 33: continued +} + +main() { + new SubClass(); +} diff --git a/tests/language/override/inheritance_mixed_test.dart b/tests/language/override/inheritance_mixed_test.dart new file mode 100644 index 00000000000..d4218d658bb --- /dev/null +++ b/tests/language/override/inheritance_mixed_test.dart @@ -0,0 +1,42 @@ +// Copyright (c) 2014, 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. + +class A { + var member1; //# 01: compile-time error + member2() {} //# 02: compile-time error + get member3 => null; //# 03: compile-time error + member4() {} //# 04: compile-time error +} + +abstract class I { + var member5; //# 05: ok + var member6; //# 06: compile-time error + get member7; //# 07: compile-time error + get member8; //# 08: compile-time error + get member9; //# 09: compile-time error +} + +abstract class J { + get member5; //# 05: continued + member6() {} //# 06: continued + member7() {} //# 07: continued + member8() {} //# 08: continued + member9() {} //# 09: continued +} + +abstract class B extends A implements I, J {} + +class Class extends B { + member1() {} //# 01: continued + var member2; //# 02: continued + member3() {} //# 03: continued + get member4 => null; //# 04: continued + var member5; //# 05: continued + member8() {} //# 08: continued + get member9 => null; //# 09: continued +} + +main() { + new Class(); +} diff --git a/tests/language/override/inheritance_no_such_method_test.dart b/tests/language/override/inheritance_no_such_method_test.dart new file mode 100644 index 00000000000..535f5a4f688 --- /dev/null +++ b/tests/language/override/inheritance_no_such_method_test.dart @@ -0,0 +1,49 @@ +// Copyright (c) 2013, 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. + +// Test use of noSuchMethod in relation to abstract methods in +// concrete classes. + +abstract class A { + method6(); //# 06: compile-time error + method7(); //# 07: compile-time error + method8(); //# 08: ok +} + +abstract class I { + method9(); //# 09: compile-time error + method10(); //# 10: compile-time error + method11(); //# 11: ok +} + +class Class1 extends A implements I { + method1(); //# 01: compile-time error + + noSuchMethod(_) => null; //# 03: ok + method3(); //# 03: continued + + noSuchMethod(_, [__]) => null; //# 04: ok + method4(); //# 04: continued + + noSuchMethod(_); //# 05: compile-time error + method5(); //# 05: continued + + noSuchMethod(_) => null; //# 08: continued + + noSuchMethod(_) => null; //# 11: continued +} + +class B { + method12(); //# 12: compile-time error + + noSuchMethod(_) => null; //# 13: ok + method13(); //# 13: continued +} + +class Class2 extends B {} + +main() { + new Class1(); + new Class2(); +} diff --git a/tests/language/override/inheritance_setter_test.dart b/tests/language/override/inheritance_setter_test.dart new file mode 100644 index 00000000000..f709c7558d1 --- /dev/null +++ b/tests/language/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 +} diff --git a/tests/language/override/method_with_field_runtime_test.dart b/tests/language/override/method_with_field_runtime_test.dart new file mode 100644 index 00000000000..c18d588c7f5 --- /dev/null +++ b/tests/language/override/method_with_field_runtime_test.dart @@ -0,0 +1,34 @@ +// TODO(multitest): This was automatically migrated from a multitest and may +// contain strange or dead code. + +// Copyright (c) 2012, 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. + +import "package:expect/expect.dart"; + +// Test overriding a method with a field. + +class Super { + Super() : super(); + + instanceMethod() => 42; +} + +class Sub extends Super { + Sub() : super(); + + + + superInstanceMethod() => super.instanceMethod(); +} + +main() { + var s = new Sub(); + Super sup = s; + Sub sub = s; + print(s.instanceMethod); + Expect.equals(42, s.superInstanceMethod()); + + Expect.equals(42, sub.superInstanceMethod()); +} diff --git a/tests/language/override/method_with_field_test.dart b/tests/language/override/method_with_field_test.dart new file mode 100644 index 00000000000..edd17fdfa1a --- /dev/null +++ b/tests/language/override/method_with_field_test.dart @@ -0,0 +1,37 @@ +// Copyright (c) 2012, 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. + +import "package:expect/expect.dart"; + +// Test overriding a method with a field. + +class Super { + Super() : super(); + + instanceMethod() => 42; +} + +class Sub extends Super { + Sub() : super(); + + var instanceMethod = 87; + // ^^^^^^^^^^^^^^ + // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_FIELD_AND_METHOD + // [cfe] Can't declare a member that conflicts with an inherited one. + + superInstanceMethod() => super.instanceMethod(); +} + +main() { + var s = new Sub(); + Super sup = s; + Sub sub = s; + print(s.instanceMethod); + Expect.equals(42, s.superInstanceMethod()); + Expect.equals(42, sup.superInstanceMethod()); + // ^^^^^^^^^^^^^^^^^^^ + // [analyzer] STATIC_TYPE_WARNING.UNDEFINED_METHOD + // [cfe] The method 'superInstanceMethod' isn't defined for the class 'Super'. + Expect.equals(42, sub.superInstanceMethod()); +}