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

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


Extra constant evaluation status:
Evaluated: StaticTearOff @ org-dartlang-testcase:///static_method_tear_off.dart:8:13 -> StaticTearOffConstant(C.f)
Extra constant evaluation: evaluated: 1, effectively constant: 1
