blob: 0246e207d2cb589813eeecb9463321fc48706a9d [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
extension type A(core::num _it) {
abstract extension-type-member representation-field get _it() core::num;
method foo = self::A|foo;
method tearoff foo = self::A|get#foo;
constructor = self::A|constructor#;
constructor tearoff = self::A|constructor#_#new#tearOff;
}
extension type B(core::num _it) {
abstract extension-type-member representation-field get _it() core::num;
method foo = self::B|foo;
method tearoff foo = self::B|get#foo;
constructor = self::B|constructor#;
constructor tearoff = self::B|constructor#_#new#tearOff;
}
extension type C(core::num _it2) implements self::A% /* erasure=core::num, declared=! */ {
abstract extension-type-member representation-field get _it2() core::num;
method foo = self::C|foo;
method tearoff foo = self::C|get#foo;
constructor = self::C|constructor#;
constructor tearoff = self::C|constructor#_#new#tearOff;
}
static extension-type-member method A|constructor#(core::num _it) → self::A% /* erasure=core::num, declared=! */ {
lowered final self::A% /* erasure=core::num, declared=! */ #this = _it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::num _it) → self::A% /* erasure=core::num, declared=! */
return self::A|constructor#(_it);
static extension-type-member method A|foo(lowered final self::A% /* erasure=core::num, declared=! */ #this) → void {
if((#this as{Unchecked} core::num) is core::int) {
((#this as{Unchecked} core::num) as{Unchecked} core::int).{core::int::isEven}{core::bool};
}
}
static extension-type-member method A|get#foo(lowered final self::A% /* erasure=core::num, declared=! */ #this) → () → void
return () void => self::A|foo(#this);
static extension-type-member method B|constructor#(core::num _it) → self::B% /* erasure=core::num, declared=! */ {
lowered final self::B% /* erasure=core::num, declared=! */ #this = _it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::num _it) → self::B% /* erasure=core::num, declared=! */
return self::B|constructor#(_it);
static extension-type-member method B|foo(lowered final self::B% /* erasure=core::num, declared=! */ #this) → void {
if((#this as{Unchecked} core::num) is core::int) {
((#this as{Unchecked} core::num) as{Unchecked} core::int).{core::int::isEven}{core::bool};
}
}
static extension-type-member method B|get#foo(lowered final self::B% /* erasure=core::num, declared=! */ #this) → () → void
return () void => self::B|foo(#this);
static extension-type-member method C|constructor#(core::num _it2) → self::C% /* erasure=core::num, declared=! */ {
lowered final self::C% /* erasure=core::num, declared=! */ #this = _it2;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::num _it2) → self::C% /* erasure=core::num, declared=! */
return self::C|constructor#(_it2);
static extension-type-member method C|foo(lowered final self::C% /* erasure=core::num, declared=! */ #this) → void {
if((#this as{Unchecked} core::num) is core::int) {
((#this as{Unchecked} core::num) as{Unchecked} core::int).{core::int::isEven}{core::bool};
}
if((#this as{Unchecked} core::num) is core::int) {
((#this as{Unchecked} core::num) as{Unchecked} core::int).{core::int::isEven}{core::bool};
}
}
static extension-type-member method C|get#foo(lowered final self::C% /* erasure=core::num, declared=! */ #this) → () → void
return () void => self::C|foo(#this);