library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  constructor foo() → self::A
    : super core::Object::•() {}
  constructor •() → self::A
    : super core::Object::•() {}
}
static method testFoo() → dynamic
  return self::A::foo;
static method testNew() → dynamic
  return self::A::•;
static method testFooExtraArgs() → dynamic
  return self::A::foo;
static method testNewExtraArgs() → dynamic
  return self::A::•;
static method main() → dynamic {}
