library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class B extends core::Object {
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
}
class C extends self::B {
  field dynamic z = null;
  synthetic constructor •() → self::C
    : super self::B::•()
    ;
}
static method test(self::B x) → void {
  self::C y = x is{ForNonNullableByDefault} self::C ?{self::C} x{self::C} : new self::C::•();
  core::print(y.{self::C::z}{dynamic});
}
static method main() → dynamic {}
