| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:6:3: Error: 'ET1' is already declared in this scope. |
| // ET1.new(this.id); |
| // ^^^ |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:5:19: Context: Previous declaration of 'ET1'. |
| // extension type ET1(int id) { |
| // ^^^ |
| // |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:10:3: Error: 'ET2' is already declared in this scope. |
| // ET2(this.id); |
| // ^^^ |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:9:22: Context: Previous declaration of 'ET2'. |
| // extension type ET2<T>(T id) { |
| // ^^^ |
| // |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:14:3: Error: 'ET3' is already declared in this scope. |
| // ET3(this.id); |
| // ^^^ |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:13:20: Context: Previous declaration of 'ET3'. |
| // extension type ET3.new(int id) { |
| // ^^^ |
| // |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:18:3: Error: 'ET4' is already declared in this scope. |
| // ET4.new(this.id); |
| // ^^^ |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:17:23: Context: Previous declaration of 'ET4'. |
| // extension type ET4<T>.new(T id) { |
| // ^^^ |
| // |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:22:3: Error: 'ET5.n' is already declared in this scope. |
| // ET5.n(this.id); |
| // ^^^^^ |
| // pkg/front_end/testcases/extension_types/duplicate_constructors.dart:21:20: Context: Previous declaration of 'ET5.n'. |
| // extension type ET5.n(int id) { |
| // ^^^^^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| extension type ET1(core::int id) { |
| abstract extension-type-member representation-field get id() → core::int; |
| constructor • = self::ET1|constructor#; |
| constructor tearoff • = self::ET1|constructor#_#new#tearOff; |
| } |
| extension type ET2<T extends core::Object? = dynamic>(T% id) { |
| abstract extension-type-member representation-field get id() → T%; |
| constructor • = self::ET2|constructor#; |
| constructor tearoff • = self::ET2|constructor#_#new#tearOff; |
| } |
| extension type ET3(core::int id) { |
| abstract extension-type-member representation-field get id() → core::int; |
| constructor • = self::ET3|constructor#; |
| constructor tearoff • = self::ET3|constructor#_#new#tearOff; |
| } |
| extension type ET4<T extends core::Object? = dynamic>(T% id) { |
| abstract extension-type-member representation-field get id() → T%; |
| constructor • = self::ET4|constructor#; |
| constructor tearoff • = self::ET4|constructor#_#new#tearOff; |
| } |
| extension type ET5(core::int id) { |
| abstract extension-type-member representation-field get id() → core::int; |
| constructor n = self::ET5|constructor#n; |
| constructor tearoff n = self::ET5|constructor#_#n#tearOff; |
| } |
| 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 ET2|constructor#<T extends core::Object? = dynamic>(self::ET2|constructor#::T% id) → self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ { |
| lowered final self::ET2<self::ET2|constructor#::T%>% /* erasure=self::ET2|constructor#::T%, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET2|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET2|constructor#_#new#tearOff::T% id) → self::ET2<self::ET2|constructor#_#new#tearOff::T%>% /* erasure=self::ET2|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ET2|constructor#<self::ET2|constructor#_#new#tearOff::T%>(id); |
| static extension-type-member method ET3|constructor#(core::int id) → self::ET3% /* erasure=core::int, declared=! */ { |
| lowered final self::ET3% /* erasure=core::int, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET3|constructor#_#new#tearOff(core::int id) → self::ET3% /* erasure=core::int, declared=! */ |
| return self::ET3|constructor#(id); |
| static extension-type-member method ET4|constructor#<T extends core::Object? = dynamic>(self::ET4|constructor#::T% id) → self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ { |
| lowered final self::ET4<self::ET4|constructor#::T%>% /* erasure=self::ET4|constructor#::T%, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET4|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET4|constructor#_#new#tearOff::T% id) → self::ET4<self::ET4|constructor#_#new#tearOff::T%>% /* erasure=self::ET4|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ET4|constructor#<self::ET4|constructor#_#new#tearOff::T%>(id); |
| static extension-type-member method ET5|constructor#n(core::int id) → self::ET5% /* erasure=core::int, declared=! */ { |
| lowered final self::ET5% /* erasure=core::int, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ET5|constructor#_#n#tearOff(core::int id) → self::ET5% /* erasure=core::int, declared=! */ |
| return self::ET5|constructor#n(id); |