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

class C extends core::Object {
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
  static method f(core::String s) → core::int
    return throw "";
}
static const field (core::String) → core::int v = #C1;
static method main() → dynamic {
  #C1;
}

constants  {
  #C1 = static-tearoff self::C::f
}
