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

static field core::int intValue = 0;
static field core::num numValue = 0;
static field core::double doubleValue = 0.0;
static field dynamic a = () → dynamic => self::intValue.+(self::b);
static field dynamic b = self::a.call();
static field dynamic c = () → dynamic => self::numValue.+(self::d);
static field dynamic d = self::c.call();
static field dynamic e = () → dynamic => self::doubleValue.+(self::f);
static field dynamic f = self::e.call();
static method main() → dynamic {}
