library /*isNonNullableByDefault*/; import self as self; import "dart:core" as core; class Class extends core::Object { field self::Class? field; constructor •([self::Class? field = #C1]) → self::Class : self::Class::field = field, super core::Object::•() ; get getter1() → self::Class return this; get getter2() → self::Class? return this.{self::Class::field}; } static method main() → dynamic { self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?; let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t2.{core::Object::==}(null) ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}.{self::Class::getter2} in #t3.{core::Object::==}(null) ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class}; } constants { #C1 = null }