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

static field core::List<({x: core::int?}) → core::Object> v;
static method f({core::int? x}) → core::int
  ;
static method g({core::int? x}) → core::String
  ;
static method main() → dynamic
  ;
