| 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); |