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}{self::Class?};
}
static method main() → dynamic {
  self::Class? c = new self::Class::•() as{ForNonNullableByDefault} self::Class?;
  let final self::Class? #t1 = c in #t1 == null ?{self::Class?} null : let final self::Class? #t2 = #t1{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t2 == null ?{self::Class?} null : let final self::Class? #t3 = #t2{self::Class}.{self::Class::getter1}{self::Class}.{self::Class::getter2}{self::Class?} in #t3 == null ?{self::Class?} null : #t3{self::Class}.{self::Class::field} = c{self::Class};
}

constants  {
  #C1 = null
}
