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

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

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