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 () → core::bool x = self::f().{self::C::g};
static method f() → self::C
  return null;
static method main() → dynamic {}
