blob: 8038d01cb36a38ab6a63cdd13620fe65701471f6 [file] [log] [blame]
library test;
//
// Problems in library:
//
// pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart:13:49: Error: The return type of the method 'B.x' is 'dynamic', which does not match the return type, 'int', of the overridden method, 'A.x'.
// Change to a subtype of 'int'.
// /*error:INVALID_METHOD_OVERRIDE*/ dynamic get x => 3;
// ^
// pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart:9:11: Context: This is the overridden method ('x').
// final T x = null;
// ^
//
import self as self;
import "dart:core" as core;
class A<T extends core::Object* = dynamic> extends core::Object {
final field self::A::T* x = null;
synthetic constructor •() self::A<self::A::T*>*
: super core::Object::•()
;
}
class B extends core::Object implements self::A<core::int*> {
synthetic constructor •() self::B*
: super core::Object::•()
;
get x() dynamic
return 3;
}
static method foo() dynamic {
core::String* y = new self::B::•().{self::B::x} as{TypeError} core::String*;
core::int* z = new self::B::•().{self::B::x} as{TypeError} core::int*;
}
static method main() dynamic {
self::foo();
}