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.call();
}
static method main() → dynamic {
  dynamic x;
  function inner() → self::Foo {
    x = new self::Foo::•();
    return new self::Foo::•();
  }
  self::useCallback(inner);
  self::Bar _ = inner.call().{self::Foo::_field};
}
