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

class C extends core::Object {
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  method g() → core::bool
    return true;
}
static field dynamic x = self::f().g;
static method f() → self::C
  return null;
static method main() → dynamic {}
