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

abstract class Foo extends core::Object {
  synthetic constructor •() → self::Foo
    ;
  abstract method _foo() → void;
}
class Bar extends self::Foo {
  synthetic constructor •() → self::Bar
    ;
  method noSuchMethod(core::Invocation invocation) → dynamic
    ;
  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
  ;
