blob: 4c08082d6a4e11c31dbaf179ab76d5a66f728593 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart:23:28: Error: The parameter 'x' of the method 'D.f5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.f5'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart'.
// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
// void f5(covariant String x) {}
// ^
// pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart:14:8: Context: This is the overridden method ('f5').
// void f5(covariant A x) {}
// ^
//
// pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart:22:13: Error: The parameter 'x' of the method 'D.f4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f4'.
// - 'B' is from 'pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart'.
// - 'A' is from 'pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart'.
// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
// void f4(B x) {} // Not covariant
// ^
// pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart:13:8: Context: This is the overridden method ('f4').
// void f4(A x) {}
// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() self::A*
;
}
class B extends self::A {
synthetic constructor •() self::B*
;
}
class C extends core::Object {
synthetic constructor •() self::C*
;
method f1(covariant self::A* x) void
;
method f2(self::A* x) void
;
method f3(covariant self::A* x) void
;
method f4(self::A* x) void
;
method f5(covariant self::A* x) void
;
method f6(covariant self::B* x) void
;
}
class D extends self::C {
synthetic constructor •() self::D*
;
method f1(covariant self::B* x) void
;
method f2(covariant self::B* x) void
;
method f3(covariant self::B* x) void
;
method f4(self::B* x) void
;
method f5(covariant core::String* x) void
;
method f6(covariant self::A* x) void
;
}
static method main() dynamic
;