| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:5:16: Error: 'A' is a supertype of itself. |
| // extension type A(int it) implements B {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:7:16: Error: 'B' is a supertype of itself. |
| // extension type B(int it) implements A {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:9:16: Error: 'C' is a supertype of itself. |
| // extension type C(int it) implements D {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:11:16: Error: 'D' is a supertype of itself. |
| // extension type D(int it) implements E {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:13:16: Error: 'E' is a supertype of itself. |
| // extension type E(int it) implements F {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:15:16: Error: 'F' is a supertype of itself. |
| // extension type F(int it) implements D {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type A(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::A|constructor#; |
| constructor tearoff • = self::A|constructor#_#new#tearOff; |
| } |
| extension type B(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::B|constructor#; |
| constructor tearoff • = self::B|constructor#_#new#tearOff; |
| } |
| extension type C(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::C|constructor#; |
| constructor tearoff • = self::C|constructor#_#new#tearOff; |
| } |
| extension type D(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::D|constructor#; |
| constructor tearoff • = self::D|constructor#_#new#tearOff; |
| } |
| extension type E(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::E|constructor#; |
| constructor tearoff • = self::E|constructor#_#new#tearOff; |
| } |
| extension type F(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::F|constructor#; |
| constructor tearoff • = self::F|constructor#_#new#tearOff; |
| } |
| static extension-type-member method A|constructor#(core::int it) → self::A% /* erasure=core::int, declared=! */ { |
| lowered final self::A% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method A|constructor#_#new#tearOff(core::int it) → self::A% /* erasure=core::int, declared=! */ |
| return self::A|constructor#(it); |
| static extension-type-member method B|constructor#(core::int it) → self::B% /* erasure=core::int, declared=! */ { |
| lowered final self::B% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method B|constructor#_#new#tearOff(core::int it) → self::B% /* erasure=core::int, declared=! */ |
| return self::B|constructor#(it); |
| static extension-type-member method C|constructor#(core::int it) → self::C% /* erasure=core::int, declared=! */ { |
| lowered final self::C% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method C|constructor#_#new#tearOff(core::int it) → self::C% /* erasure=core::int, declared=! */ |
| return self::C|constructor#(it); |
| static extension-type-member method D|constructor#(core::int it) → self::D% /* erasure=core::int, declared=! */ { |
| lowered final self::D% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method D|constructor#_#new#tearOff(core::int it) → self::D% /* erasure=core::int, declared=! */ |
| return self::D|constructor#(it); |
| static extension-type-member method E|constructor#(core::int it) → self::E% /* erasure=core::int, declared=! */ { |
| lowered final self::E% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method E|constructor#_#new#tearOff(core::int it) → self::E% /* erasure=core::int, declared=! */ |
| return self::E|constructor#(it); |
| static extension-type-member method F|constructor#(core::int it) → self::F% /* erasure=core::int, declared=! */ { |
| lowered final self::F% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method F|constructor#_#new#tearOff(core::int it) → self::F% /* erasure=core::int, declared=! */ |
| return self::F|constructor#(it); |