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

static field core::List<(core::int*) →* core::Object*>* v = <(core::int*) →* core::Object*>[#C1, #C2];
static method f(core::int* x) → core::int*
  return null;
static method g(core::int* x) → core::String*
  return null;
static method main() → dynamic {
  self::v;
}

constants  {
  #C1 = tearoff self::f
  #C2 = tearoff self::g
}
