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

class C extends core::Object {
  synthetic constructor •() → self::C
    : super core::Object::•()
    ;
  method f() → self::D?
    return new self::D::•();
  method h() → void {}
}
class D extends core::Object {
  synthetic constructor •() → self::D
    : super core::Object::•()
    ;
  method g() → void {}
}
static method test(self::C x) → void {
  let final self::C #t1 = x in block {
    #t1.{self::C::f}()!.{self::D::g}();
    #t1.{self::C::h}();
  } =>#t1;
}
static method main() → dynamic {
  self::test(new self::C::•());
}
