blob: 6b55a760550821f72f532aa1a441180be89dc283 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class Class1 extends core::Object /*hasConstConstructor*/ {
const constructor •() self::Class1
: super core::Object::•()
;
operator ==(core::Object other) core::bool {
return true;
}
}
class Class2 extends core::Object /*hasConstConstructor*/ {
const constructor •() self::Class2
: super core::Object::•()
;
operator ==(core::Object other) core::bool {
return false;
}
}
static const field self::Class1 c1 = #C1;
static const field self::Class2 c2 = #C2;
static method test1(dynamic o) dynamic {
#L1:
{
final synthesized dynamic #0#0 = o;
{
if(#C1 =={self::Class1::==}{(core::Object) core::bool} #0#0) {
{
return true;
}
}
}
{
{
{
return false;
}
}
}
}
}
static method test2(dynamic o) dynamic {
#L2:
{
final synthesized dynamic #0#0 = o;
{
if(#C2 =={self::Class2::==}{(core::Object) core::bool} #0#0) {
{
return true;
}
}
}
{
{
{
return false;
}
}
}
}
}
static method main() dynamic {
self::expect(true, self::test1(#C1));
self::expect(true, self::test1(new self::Class1::•()));
self::expect(true, self::test1(0));
self::expect(false, self::test1(null));
self::expect(false, self::test2(#C2));
self::expect(false, self::test2(new self::Class2::•()));
self::expect(false, self::test2(0));
self::expect(false, self::test2(null));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}";
}
}
constants {
#C1 = self::Class1 {}
#C2 = self::Class2 {}
}
Constructor coverage from constants:
org-dartlang-testcase:///user_defined_equals.dart:
- Class1. (from org-dartlang-testcase:///user_defined_equals.dart:6:9)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- Class2. (from org-dartlang-testcase:///user_defined_equals.dart:25:9)