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

class C extends core::Object {
  field core::int field = 0;
  synthetic constructor •() → void
    : super core::Object::•()
    ;
  get getter() → core::int
    return 0;
  method function() → core::int
    return 0;
}
static field self::C c = new self::C::•();
static field () → core::int function_ref = self::c.{self::C::function};
static field core::List<() → core::int> function_ref_list = <() → core::int>[self::c.{self::C::function}];
static method main() → dynamic {}
