library test /*isNonNullableByDefault*/;
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};
    dynamic v2 = this.{self::C::x}{dynamic};
    dynamic v3 = this.{self::C::y}{dynamic};
    dynamic v4 = this.{self::C::y}{dynamic};
  }
}
static method test(self::C c, dynamic d) → void {
  dynamic v1 = c.{self::C::x}{dynamic};
  dynamic v2 = c.{self::C::y}{dynamic};
  dynamic v3 = d{dynamic}.x;
}
static method main() → dynamic {}
