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

static field core::List<({x: core::int?}) → core::Object> v = core::_GrowableList::_literal2<({x: core::int?}) → core::Object>(#C1, #C2);
static method f({core::int? x = #C3}) → core::int
  return 0;
static method g({core::int? x = #C3}) → core::String
  return "";
static method main() → dynamic {
  self::v;
}

constants  {
  #C1 = static-tearoff self::f
  #C2 = static-tearoff self::g
  #C3 = null
}
