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

class C extends core::Object {
  field dynamic y = null;
  synthetic constructor •() → self::C*
    : super core::Object::•()
    ;
  get x() → dynamic
    return null;
  method test() → void {
    dynamic v1 = this.{self::C::x};
    dynamic v2 = this.{self::C::x};
    dynamic v3 = this.{self::C::y};
    dynamic v4 = this.{self::C::y};
  }
}
static method test(self::C* c, dynamic d) → void {
  dynamic v1 = c.x;
  dynamic v2 = c.y;
  dynamic v3 = d.x;
}
static method main() → dynamic {}
