blob: b3fe0450cdcd01cac9eb5680b7a03cd9258783f2 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/no_such_method_forwarders/inherited_through_abstract.dart:17:7: Error: The implementation of 'method4' in the non-abstract class 'Class' does not conform to its interface.
// class Class extends Abstract {
// ^^^^^
// pkg/front_end/testcases/no_such_method_forwarders/inherited_through_abstract.dart:10:15: Context: The parameter 'i' of the method 'Super.method4' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Class.method4'.
// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
// method4(int i) {}
// ^
// pkg/front_end/testcases/no_such_method_forwarders/inherited_through_abstract.dart:22:3: Context: This is the overridden method ('method4').
// method4(num i);
// ^
//
import self as self;
import "dart:core" as core;
class Super extends core::Object {
synthetic constructor •() self::Super
: super core::Object::•()
;
method noSuchMethod(core::Invocation _) dynamic
return null;
no-such-method-forwarder method method1() dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} dynamic;
no-such-method-forwarder method method2(core::int i) dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(i)), core::Map::unmodifiable<core::Symbol, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} dynamic;
no-such-method-forwarder method method3(core::int i) dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(i)), core::Map::unmodifiable<core::Symbol, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} dynamic;
method method4(core::int i) dynamic {}
}
abstract class Abstract extends self::Super {
synthetic constructor •() self::Abstract
: super self::Super::•()
;
abstract method method2(core::num i) dynamic;
}
class Class extends self::Abstract {
synthetic constructor •() self::Class
: super self::Abstract::•()
;
abstract method method1() dynamic;
no-such-method-forwarder method method3(core::num i) dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(i)), core::Map::unmodifiable<core::Symbol, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} dynamic;
abstract method method4(core::num i) dynamic;
no-such-method-forwarder method method2(core::num i) dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(i)), core::Map::unmodifiable<core::Symbol, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic} dynamic;
}
constants {
#C1 = #method1
#C2 = <core::Type>[]
#C3 = <dynamic>[]
#C4 = <core::Symbol, dynamic>{}
#C5 = #method2
#C6 = #method3
}