library test;
import self as self;
import "dart:core" as core;

static field core::List<(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
  ;
