blob: d4daa5cd94e0afffa4d5262e86618caaa24387f4 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
extension E on self::ET? /* erasure=core::int? */ {
method foo = self::E|foo;
method tearoff foo = self::E|get#foo;
}
extension type ET(core::int? i) {
abstract extension-type-member representation-field get i() core::int?;
method foo = self::ET|foo;
method tearoff foo = self::ET|get#foo;
constructor = self::ET|constructor#;
constructor tearoff = self::ET|constructor#_#new#tearOff;
}
static extension-member method E|foo(lowered final self::ET? /* erasure=core::int? */ #this, core::int i) → void {}
static extension-member method E|get#foo(lowered final self::ET? /* erasure=core::int? */ #this) → (core::int) → void
return (core::int i) void => self::E|foo(#this, i);
static extension-type-member method ET|constructor#(core::int? i) → self::ET% /* erasure=core::int?, declared=! */ {
lowered final self::ET% /* erasure=core::int?, declared=! */ #this = i;
return #this;
}
static extension-type-member method ET|constructor#_#new#tearOff(core::int? i) → self::ET% /* erasure=core::int?, declared=! */
return self::ET|constructor#(i);
static extension-type-member method ET|foo(lowered final self::ET% /* erasure=core::int?, declared=! */ #this) → void {}
static extension-type-member method ET|get#foo(lowered final self::ET% /* erasure=core::int?, declared=! */ #this) → () → void
return () void => self::ET|foo(#this);
static method method<X extends self::ET% /* erasure=core::int?, declared=! */, Y extends self::ET? /* erasure=core::int? */>(self::ET% /* erasure=core::int?, declared=! */ et1, self::ET? /* erasure=core::int? */ et2, self::method::X% x1, self::method::X? x2, self::method::Y% y1, self::method::Y? y2) dynamic {
self::ET|foo(et1);
self::E|foo(et2, 0);
self::ET|foo(x1);
self::E|foo(x2, 0);
self::E|foo(y1, 0);
self::E|foo(y2, 0);
}