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

typedef F = () →* void;
class C extends core::Object {
  synthetic constructor •() → self::C*
    ;
  method f() → void
    ;
  get g() → () →* void
    ;
  get h() → dynamic
    ;
  method test() → void
    ;
}
static method test(self::C* c, () →* void f, dynamic d) → void
  ;
static method main() → dynamic
  ;
