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

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

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