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

class A extends core::Object {
  synthetic constructor •() → self::A*
    : super core::Object::•()
    ;
  operator +(dynamic other) → core::int*
    return 1;
  operator -(dynamic other) → core::double*
    return 2.0;
}
static field core::int* v_add = new self::A::•().{self::A::+}("foo");
static field core::double* v_minus = new self::A::•().{self::A::-}("bar");
static method main() → dynamic {
  self::v_add;
  self::v_minus;
}
