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

class A extends core::Object {
  synthetic constructor •() → self::A*
    : super core::Object::•()
    ;
  operator +(core::int* i) → core::String*
    return "";
}
static method test(core::int* i, core::String* s, self::A* a) → dynamic {
  i = 1;
  i = s;
  i.==(null) ? i = 1 : null;
  i.==(null) ? i = s : null;
  a = new self::A::•();
  a = a.+(1);
}
static method main() → dynamic {}
