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

class A extends core::Object {
  field dynamic b = () → dynamic => self::x;
  field dynamic c = () → dynamic => self::x;
  synthetic constructor •() → self::A*
    : super core::Object::•()
    ;
}
static field dynamic a = new self::A::•();
static field dynamic x = () → dynamic => self::a.b;
static field dynamic y = () → dynamic => self::a.c;
static method main() → dynamic {}
