blob: 5f3bb3f6863d219189829a9db6a750d2e791a8ec [file] [log] [blame]
library test;
import self as self;
import "dart:core" as core;
class NullEquality extends core::Object {
synthetic constructor •() void
: super core::Object::•()
;
@core::override
operator ==(core::Object other) core::Null
return null;
}
class SubNullEquality extends self::NullEquality {
synthetic constructor •() void
: super self::NullEquality::•()
;
method test() void {
core::bool super_equals_self = super.{self::NullEquality::==}(this);
core::bool super_equals_null = super.{self::NullEquality::==}(null);
core::bool super_not_equals_self = !super.{self::NullEquality::==}(this);
core::bool super_not_equals_null = !super.{self::NullEquality::==}(null);
}
}
static method test() dynamic {
self::NullEquality n = new self::NullEquality::•();
core::bool equals_self = n.{self::NullEquality::==}(n);
core::bool equals_null = n.{self::NullEquality::==}(null);
core::bool null_equals = null.{core::Object::==}(n);
core::bool not_equals_self = !n.{self::NullEquality::==}(n);
core::bool not_equals_null = !n.{self::NullEquality::==}(null);
core::bool null_not_equals = !null.{core::Object::==}(n);
}
static method main() dynamic {
self::test();
new self::SubNullEquality::•().{self::SubNullEquality::test}();
}