library;
import self as self;
import "dart:core" as core;

abstract class Foo extends core::Object {
  synthetic constructor •() → self::Foo
    : super core::Object::•()
    ;
  abstract method _foo() → void;
}
class Bar extends self::Foo {
  synthetic constructor •() → self::Bar
    : super self::Foo::•()
    ;
  method noSuchMethod(core::Invocation invocation) → dynamic
    return null;
  no-such-method-forwarder method _foo() → void
    return this.{self::Bar::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
}
static method main() → dynamic {}
