4b7d256a06
This reverts commite9ca6a5335andd3e00fd35e. Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Vijay Menon <vsm@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
86 lines
3.4 KiB
Plaintext
86 lines
3.4 KiB
Plaintext
library;
|
|
//
|
|
// Problems in library:
|
|
//
|
|
// pkg/front_end/testcases/override_check_basic.dart:27:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
|
|
// - 'Object' is from 'dart:core'.
|
|
// - 'A' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// Change to a subtype of 'A'.
|
|
// Object f4() {}
|
|
// ^
|
|
// pkg/front_end/testcases/override_check_basic.dart:13:5: Context: This is the overridden method ('f4').
|
|
// A f4() {}
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/override_check_basic.dart:26:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
|
|
// - 'B' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// - 'A' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
|
|
// void f3({B x}) {}
|
|
// ^
|
|
// pkg/front_end/testcases/override_check_basic.dart:12:8: Context: This is the overridden method ('f3').
|
|
// void f3({A x}) {}
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/override_check_basic.dart:24:13: Error: The parameter 'x' of the method 'E.f1' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f1'.
|
|
// - 'B' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// - 'A' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
|
|
// void f1(B x) {}
|
|
// ^
|
|
// pkg/front_end/testcases/override_check_basic.dart:10:8: Context: This is the overridden method ('f1').
|
|
// void f1(A x) {}
|
|
// ^
|
|
//
|
|
// pkg/front_end/testcases/override_check_basic.dart:25:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
|
|
// - 'B' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// - 'A' is from 'pkg/front_end/testcases/override_check_basic.dart'.
|
|
// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
|
|
// void f2([B x]) {}
|
|
// ^
|
|
// pkg/front_end/testcases/override_check_basic.dart:11:8: Context: This is the overridden method ('f2').
|
|
// void f2([A x]) {}
|
|
// ^
|
|
//
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class A extends core::Object {
|
|
synthetic constructor •() → self::A
|
|
: super core::Object::•()
|
|
;
|
|
}
|
|
class B extends self::A {
|
|
synthetic constructor •() → self::B
|
|
: super self::A::•()
|
|
;
|
|
}
|
|
class C extends core::Object {
|
|
synthetic constructor •() → self::C
|
|
: super core::Object::•()
|
|
;
|
|
method f1(self::A x) → void {}
|
|
method f2([self::A x = null]) → void {}
|
|
method f3({self::A x = null}) → void {}
|
|
method f4() → self::A {}
|
|
}
|
|
class D extends self::C {
|
|
synthetic constructor •() → self::D
|
|
: super self::C::•()
|
|
;
|
|
method f1(core::Object x) → void {}
|
|
method f2([core::Object x = null]) → void {}
|
|
method f3({core::Object x = null}) → void {}
|
|
method f4() → self::B {}
|
|
}
|
|
class E extends self::C {
|
|
synthetic constructor •() → self::E
|
|
: super self::C::•()
|
|
;
|
|
method f1(self::B x) → void {}
|
|
method f2([self::B x = null]) → void {}
|
|
method f3({self::B x = null}) → void {}
|
|
method f4() → core::Object {}
|
|
}
|
|
static method main() → dynamic {}
|