blob: d2b7e7b389a7b8b3968024d957539491d8f5cad6 [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
;
method noSuchMethod(core::Invocation _) dynamic
;
no-such-method-forwarder method method1() dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#method1, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))){(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(#method2, 0, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[i]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))){(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(#method3, 0, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[i]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))){(core::Invocation) dynamic} as{TypeError,ForDynamic} dynamic;
method method4(core::int i) dynamic
;
}
abstract class Abstract extends self::Super {
synthetic constructor •() self::Abstract
;
abstract method method2(core::num i) dynamic;
}
class Class extends self::Abstract {
synthetic constructor •() self::Class
;
abstract method method1() dynamic;
no-such-method-forwarder method method3(core::num i) dynamic
return this.{self::Super::noSuchMethod}(new core::_InvocationMirror::_withType(#method3, 0, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[i]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))){(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(#method2, 0, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[i]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{}))){(core::Invocation) dynamic} as{TypeError,ForDynamic} dynamic;
}
Extra constant evaluation status:
Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:7:3 -> SymbolConstant(#method1)
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:7:3 -> ListConstant(const <Type*>[])
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:7:3 -> ListConstant(const <dynamic>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:7:3 -> MapConstant(const <Symbol*, dynamic>{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:8:3 -> SymbolConstant(#method2)
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:8:3 -> ListConstant(const <Type*>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:8:3 -> MapConstant(const <Symbol*, dynamic>{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:9:3 -> SymbolConstant(#method3)
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:9:3 -> ListConstant(const <Type*>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:9:3 -> MapConstant(const <Symbol*, dynamic>{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:20:3 -> SymbolConstant(#method3)
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:20:3 -> ListConstant(const <Type*>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:20:3 -> MapConstant(const <Symbol*, dynamic>{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:17:7 -> SymbolConstant(#method2)
Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:17:7 -> ListConstant(const <Type*>[])
Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_through_abstract.dart:17:7 -> MapConstant(const <Symbol*, dynamic>{})
Extra constant evaluation: evaluated: 53, effectively constant: 16