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

class A extends core::Object {
  final field core::String foo;
  constructor •(core::String foo) → self::A
    : self::A::foo = foo, super core::Object::•()
    ;
  operator ==(core::Object other) → core::bool
    return other is{ForNonNullableByDefault} self::A && other{self::A}.{self::A::foo}{core::String} =={core::String::==}{(core::Object) → core::bool} this.{self::A::foo}{core::String};
}
static method main() → dynamic {
  core::print(new self::A::•("hello") =={self::A::==}{(core::Object) → core::bool} new self::A::•("hello"));
}
