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

static field core::Map<core::int*, core::String*>* a;
static field core::Map<core::double*, core::int*>* b;
static field core::Map<core::List<core::int*>*, core::Map<core::String*, core::double*>*>* c;
static field core::Map<core::int*, dynamic>* d;
static field core::Map<dynamic, core::int*>* e;
static field core::Map<dynamic, dynamic>* f;
static method main() → dynamic
  ;
