blob: e5f5f22c522383391e46d09b07adda9894f267c7 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class C extends core::Object implements self::B {
final field core::int field;
constructor •(core::int field) self::C
: self::C::field = field, super core::Object::•()
;
}
abstract class B extends core::Object implements self::A {
synthetic constructor •() self::B
: super core::Object::•()
;
abstract get field() core::int;
}
abstract class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
abstract get field() core::int;
}
extension type E(self::C c) implements self::C {
abstract extension-type-member representation-field get c() self::C;
constructor = self::E|constructor#;
constructor tearoff = self::E|constructor#_#new#tearOff;
}
extension type D(self::C c) implements self::B {
abstract extension-type-member representation-field get c() self::C;
constructor = self::D|constructor#;
constructor tearoff = self::D|constructor#_#new#tearOff;
}
static field core::int g = self::e.{self::C::field}{core::int};
static field core::int f = self::d.{self::B::field}{core::int};
static field self::E /* erasure=self::C */ e = self::E|constructor#(new self::C::•(42));
static field self::D /* erasure=self::C */ d = self::D|constructor#(new self::C::•(42));
static extension-type-member method E|constructor#(self::C c) → self::E /* erasure=self::C */ {
lowered final self::E /* erasure=self::C */ #this = c;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(self::C c) → self::E /* erasure=self::C */
return self::E|constructor#(c);
static extension-type-member method D|constructor#(self::C c) → self::D /* erasure=self::C */ {
lowered final self::D /* erasure=self::C */ #this = c;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(self::C c) → self::D /* erasure=self::C */
return self::D|constructor#(c);