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

class C extends core::Object {
  constructor •() → void
    : super core::Object::•()
    ;
  operator unary-() → core::bool
    return true;
}
static field self::C c = new self::C::•();
static field core::bool x = self::c.unary-();
static method main() → dynamic {
  self::c;
  self::x;
}
