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

static field dynamic v = <dynamic>[self::f, self::g];
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;
}
