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

class Foo extends core::Object {
  field self::Bar _field = new self::Bar::•();
  synthetic constructor •() → self::Foo
    : super core::Object::•()
    ;
}
class Bar extends core::Object {
  synthetic constructor •() → self::Bar
    : super core::Object::•()
    ;
}
static method useCallback(dynamic callback) → dynamic {
  dynamic _ = callback{dynamic}();
}
static method main() → dynamic {
  dynamic x;
  function inner() → self::Foo {
    x = new self::Foo::•();
    return new self::Foo::•();
  }
  self::useCallback(inner);
  self::Bar _ = inner(){() → self::Foo}.{self::Foo::_field}{self::Bar};
}
