| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type I(core::int id) { |
| abstract extension-type-member representation-field get id() → core::int; |
| set id = self::I|set#id; |
| constructor • = self::I|constructor#; |
| constructor tearoff • = self::I|constructor#_#new#tearOff; |
| } |
| extension type ET1(core::int id) { |
| abstract extension-type-member representation-field get id() → core::int; |
| set id = self::ET1|set#id; |
| constructor • = self::ET1|constructor#; |
| constructor tearoff • = self::ET1|constructor#_#new#tearOff; |
| } |
| extension type ET2(core::int id) implements self::I% /* erasure=core::int, declared=! */ { |
| abstract extension-type-member representation-field get id() → core::int; |
| constructor • = self::ET2|constructor#; |
| constructor tearoff • = self::ET2|constructor#_#new#tearOff; |
| } |
| static extension-type-member method I|constructor#(core::int id) → self::I% /* erasure=core::int, declared=! */ { |
| lowered final self::I% /* erasure=core::int, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method I|constructor#_#new#tearOff(core::int id) → self::I% /* erasure=core::int, declared=! */ |
| return self::I|constructor#(id); |
| static extension-type-member method I|set#id(lowered final self::I% /* erasure=core::int, declared=! */ #this, core::int i) → void {} |
| static extension-type-member method ET1|constructor#(core::int id) → self::ET1% /* erasure=core::int, declared=! */ { |
| lowered final self::ET1% /* erasure=core::int, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET1|constructor#_#new#tearOff(core::int id) → self::ET1% /* erasure=core::int, declared=! */ |
| return self::ET1|constructor#(id); |
| static extension-type-member method ET1|set#id(lowered final self::ET1% /* erasure=core::int, declared=! */ #this, core::int i) → void {} |
| static extension-type-member method ET2|constructor#(core::int id) → self::ET2% /* erasure=core::int, declared=! */ { |
| lowered final self::ET2% /* erasure=core::int, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET2|constructor#_#new#tearOff(core::int id) → self::ET2% /* erasure=core::int, declared=! */ |
| return self::ET2|constructor#(id); |
| static method main() → dynamic { |
| self::ET1% /* erasure=core::int, declared=! */ et1 = self::ET1|constructor#(1); |
| self::ET1|set#id(et1, 0); |
| self::ET2% /* erasure=core::int, declared=! */ et2 = self::ET2|constructor#(2); |
| self::I|set#id(et2, 0); |
| } |