| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class Foo extends core::Object { |
| synthetic constructor •() → self::Foo |
| : super core::Object::•() |
| ; |
| } |
| extension type FooBar(self::Foo i) implements self::Foo { |
| abstract extension-type-member representation-field get i() → self::Foo; |
| constructor • = self::FooBar|constructor#; |
| constructor tearoff • = self::FooBar|constructor#_#new#tearOff; |
| } |
| extension type FooBaz(self::Foo i) implements self::Foo { |
| abstract extension-type-member representation-field get i() → self::Foo; |
| constructor • = self::FooBaz|constructor#; |
| constructor tearoff • = self::FooBaz|constructor#_#new#tearOff; |
| } |
| static extension-type-member method FooBar|constructor#(self::Foo i) → self::FooBar /* erasure=self::Foo */ { |
| lowered final self::FooBar /* erasure=self::Foo */ #this = i; |
| return #this; |
| } |
| static extension-type-member method FooBar|constructor#_#new#tearOff(self::Foo i) → self::FooBar /* erasure=self::Foo */ |
| return self::FooBar|constructor#(i); |
| static extension-type-member method FooBaz|constructor#(self::Foo i) → self::FooBaz /* erasure=self::Foo */ { |
| lowered final self::FooBaz /* erasure=self::Foo */ #this = i; |
| return #this; |
| } |
| static extension-type-member method FooBaz|constructor#_#new#tearOff(self::Foo i) → self::FooBaz /* erasure=self::Foo */ |
| return self::FooBaz|constructor#(i); |
| static method main() → void { |
| final self::FooBar /* erasure=self::Foo */ a = self::FooBar|constructor#(new self::Foo::•()); |
| #L1: |
| { |
| final synthesized self::FooBar /* erasure=self::Foo */ #0#0 = a; |
| { |
| final hoisted self::Foo a; |
| if(let final self::Foo #t1 = a = #0#0 as{Unchecked} self::Foo in true) { |
| { |
| core::print("FooBar ${a}"); |
| } |
| } |
| } |
| } |
| } |