| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class X extends core::Object { |
| synthetic constructor •() → self::X |
| : super core::Object::•() |
| ; |
| method _foo() → void async { |
| await null; |
| core::print("hello"); |
| } |
| method foo() → void |
| return this.{self::X::_foo}(){() → void}; |
| } |
| class Y extends core::Object implements self::X { |
| synthetic constructor •() → self::Y |
| : super core::Object::•() |
| ; |
| method noSuchMethod(core::Invocation _) → void { |
| core::print("Hello from noSuchMethod"); |
| } |
| no-such-method-forwarder method _foo() → void |
| return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void}; |
| no-such-method-forwarder method foo() → void |
| return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void}; |
| } |
| static method main() → dynamic { |
| self::Y y = new self::Y::•(); |
| y.{self::X::foo}(){() → void}; |
| } |
| |
| constants { |
| #C1 = #org-dartlang-testcase:///no_such_method_forwarder.dart::_foo |
| #C2 = <core::Type*>[] |
| #C3 = <dynamic>[] |
| #C4 = <core::Symbol*, dynamic>{) |
| #C5 = #foo |
| } |