blob: 8def0d75d59fd56aa21c1fccaf819a2c7753f824 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class C<T extends core::Object? = dynamic> extends core::Object {
constructor •() self::C<self::C::T%>
: super core::Object::•()
;
static method d<T extends core::Object? = dynamic>() self::C<dynamic>
return new self::C::•<self::C::d::T%>();
}
class C1 extends core::Object {
synthetic constructor •() self::C1
: super core::Object::•()
;
@#C1
operator ==(core::Object other) core::bool
return core::identical(#C2, other);
}
class A1 extends core::Object {
synthetic constructor •() self::A1
: super core::Object::•()
;
operator ==(core::Object other) core::bool
return core::identical(#C3, other);
}
extension type ET1(self::A1 _) implements self::A1 {
abstract extension-type-member representation-field get _() self::A1;
constructor = self::ET1|constructor#;
constructor tearoff = self::ET1|constructor#_#new#tearOff;
}
static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
lowered final self::ET1 /* erasure=self::A1 */ #this = _;
return #this;
}
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
return self::ET1|constructor#(_);
static method main() void {
core::Object o = #C4;
core::print(new self::C1::•() =={self::C1::==}{(core::Object) core::bool} #C2);
core::print(self::ET1|constructor#(new self::A1::•()) =={self::A1::==}{(core::Object) → core::bool} #C3);
core::Object? c = new self::C::•<dynamic>();
if(c{core::Object} is self::C<dynamic>) {
c = #C6;
}
}
constants {
#C1 = core::_Override {}
#C2 = constructor-tearoff self::C1::•
#C3 = static-tearoff self::ET1|constructor#_#new#tearOff
#C4 = static-tearoff core::Object::hash
#C5 = static-tearoff self::C::d
#C6 = instantiation #C5 <core::int>
}