| 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 |