| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:33:44: Error: Type 'void' can't be used here. |
| // Try removing 'void' keyword or replace it with 'var', 'final', or a type. |
| // extension type ET_Void(Null it) implements void /* Error */ {} |
| // ^^^^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:33:44: Error: Type 'void' not found. |
| // extension type ET_Void(Null it) implements void /* Error */ {} |
| // ^^^^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:57:48: Error: 'Extension' isn't a type. |
| // extension type ET_Extension(int it) implements Extension /* Error */ {} |
| // ^^^^^^^^^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:29:44: Error: The type 'Null' can't be implemented by an extension type. |
| // extension type ET_Null(Null it) implements Null /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:31:50: Error: The type 'dynamic' can't be implemented by an extension type. |
| // extension type ET_Dynamic(dynamic it) implements dynamic /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:33:44: Error: The type 'void' can't be implemented by an extension type. |
| // extension type ET_Void(Null it) implements void /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:35:46: Error: The type 'Never' can't be implemented by an extension type. |
| // extension type ET_Never(Never it) implements Never /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:35:31: Error: The representation type can't be a bottom type. |
| // extension type ET_Never(Never it) implements Never /* Error */ {} |
| // ^^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:39:48: Error: The type 'Record' can't be implemented by an extension type. |
| // extension type ET_Record(Record it) implements Record /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:41:56: Error: The type 'RecordType' which is an alias of '(int, String)' can't be implemented by an extension type. |
| // extension type ET_RecordType(RecordType it) implements RecordType /* Error */ {} |
| // ^ |
| // pkg/front_end/testcases/extension_types/implement_all.dart:7:9: Context: The issue arises via this type alias. |
| // typedef RecordType = (int, String); |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:43:52: Error: The type 'Function' can't be implemented by an extension type. |
| // extension type ET_Function(Function it) implements Function /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:46:16: Error: The type 'FunctionType' which is an alias of 'void Function()' can't be implemented by an extension type. |
| // implements FunctionType /* Error */ {} |
| // ^ |
| // pkg/front_end/testcases/extension_types/implement_all.dart:9:9: Context: The issue arises via this type alias. |
| // typedef FunctionType = void Function(); |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:49:16: Error: The type 'NullableInterfaceType' which is an alias of 'String?' can't be implemented by an extension type because it is nullable. |
| // implements NullableInterfaceType /* Error */ {} |
| // ^ |
| // pkg/front_end/testcases/extension_types/implement_all.dart:11:9: Context: The issue arises via this type alias. |
| // typedef NullableInterfaceType = String?; |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:52:16: Error: The type 'NullableExtensionType' which is an alias of 'ExtensionType?' can't be implemented by an extension type because it is nullable. |
| // implements NullableExtensionType /* Error */ {} |
| // ^ |
| // pkg/front_end/testcases/extension_types/implement_all.dart:13:9: Context: The issue arises via this type alias. |
| // typedef NullableExtensionType = ExtensionType?; |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:55:16: Error: The type 'FutureOr<int>' can't be implemented by an extension type. |
| // implements FutureOr<int> /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:57:48: Error: The type 'Extension' can't be implemented by an extension type. |
| // extension type ET_Extension(int it) implements Extension /* Error */ {} |
| // ^ |
| // |
| // pkg/front_end/testcases/extension_types/implement_all.dart:59:52: Error: The type variable 'T' can't be implemented by an extension type. |
| // extension type ET_TypeVariable<T>(T it) implements T /* Error */ {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| import "dart:async"; |
| |
| typedef RecordType = (core::int, core::String); |
| typedef FunctionType = () → void; |
| typedef NullableInterfaceType = core::String?; |
| typedef NullableExtensionType = self::ExtensionType? /* erasure=core::int? */; |
| typedef Alias = self::Class; |
| typedef GenericAlias<T extends core::Object? = dynamic> = self::GenericClass<T%>; |
| class Class extends core::Object { |
| synthetic constructor •() → self::Class |
| : super core::Object::•() |
| ; |
| } |
| class GenericClass<T extends core::Object? = dynamic> extends core::Object { |
| synthetic constructor •() → self::GenericClass<self::GenericClass::T%> |
| : super core::Object::•() |
| ; |
| } |
| extension Extension on core::int { |
| } |
| extension type ExtensionType(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::ExtensionType|constructor#; |
| constructor tearoff • = self::ExtensionType|constructor#_#new#tearOff; |
| } |
| extension type GenericExtensionType<T extends core::Object? = dynamic>(T% it) { |
| abstract extension-type-member representation-field get it() → T%; |
| constructor • = self::GenericExtensionType|constructor#; |
| constructor tearoff • = self::GenericExtensionType|constructor#_#new#tearOff; |
| } |
| extension type ET_Null(Null it) { |
| abstract extension-type-member representation-field get it() → Null; |
| constructor • = self::ET_Null|constructor#; |
| constructor tearoff • = self::ET_Null|constructor#_#new#tearOff; |
| } |
| extension type ET_Dynamic(dynamic it) { |
| abstract extension-type-member representation-field get it() → dynamic; |
| constructor • = self::ET_Dynamic|constructor#; |
| constructor tearoff • = self::ET_Dynamic|constructor#_#new#tearOff; |
| } |
| extension type ET_Void(Null it) { |
| abstract extension-type-member representation-field get it() → Null; |
| constructor • = self::ET_Void|constructor#; |
| constructor tearoff • = self::ET_Void|constructor#_#new#tearOff; |
| } |
| extension type ET_Never(invalid-type it) { |
| abstract extension-type-member representation-field get it() → Never; |
| constructor • = self::ET_Never|constructor#; |
| constructor tearoff • = self::ET_Never|constructor#_#new#tearOff; |
| } |
| extension type ET_Object(core::Object it) implements core::Object { |
| abstract extension-type-member representation-field get it() → core::Object; |
| constructor • = self::ET_Object|constructor#; |
| constructor tearoff • = self::ET_Object|constructor#_#new#tearOff; |
| } |
| extension type ET_Record(core::Record it) { |
| abstract extension-type-member representation-field get it() → core::Record; |
| constructor • = self::ET_Record|constructor#; |
| constructor tearoff • = self::ET_Record|constructor#_#new#tearOff; |
| } |
| extension type ET_RecordType((core::int, core::String) it) { |
| abstract extension-type-member representation-field get it() → (core::int, core::String); |
| constructor • = self::ET_RecordType|constructor#; |
| constructor tearoff • = self::ET_RecordType|constructor#_#new#tearOff; |
| } |
| extension type ET_Function(core::Function it) { |
| abstract extension-type-member representation-field get it() → core::Function; |
| constructor • = self::ET_Function|constructor#; |
| constructor tearoff • = self::ET_Function|constructor#_#new#tearOff; |
| } |
| extension type ET_FunctionType(() → void it) { |
| abstract extension-type-member representation-field get it() → () → void; |
| constructor • = self::ET_FunctionType|constructor#; |
| constructor tearoff • = self::ET_FunctionType|constructor#_#new#tearOff; |
| } |
| extension type ET_NullableInterfaceType(core::String? it) { |
| abstract extension-type-member representation-field get it() → core::String?; |
| constructor • = self::ET_NullableInterfaceType|constructor#; |
| constructor tearoff • = self::ET_NullableInterfaceType|constructor#_#new#tearOff; |
| } |
| extension type ET_NullableExtensionType(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::ET_NullableExtensionType|constructor#; |
| constructor tearoff • = self::ET_NullableExtensionType|constructor#_#new#tearOff; |
| } |
| extension type ET_FutureOr(FutureOr<core::int>it) { |
| abstract extension-type-member representation-field get it() → FutureOr<core::int>; |
| constructor • = self::ET_FutureOr|constructor#; |
| constructor tearoff • = self::ET_FutureOr|constructor#_#new#tearOff; |
| } |
| extension type ET_Extension(core::int it) { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::ET_Extension|constructor#; |
| constructor tearoff • = self::ET_Extension|constructor#_#new#tearOff; |
| } |
| extension type ET_TypeVariable<T extends core::Object? = dynamic>(T% it) { |
| abstract extension-type-member representation-field get it() → T%; |
| constructor • = self::ET_TypeVariable|constructor#; |
| constructor tearoff • = self::ET_TypeVariable|constructor#_#new#tearOff; |
| } |
| extension type ET_Class(self::Class it) implements self::Class { |
| abstract extension-type-member representation-field get it() → self::Class; |
| constructor • = self::ET_Class|constructor#; |
| constructor tearoff • = self::ET_Class|constructor#_#new#tearOff; |
| } |
| extension type ET_GenericClass<T extends core::Object? = dynamic>(self::GenericClass<T%> it) implements self::GenericClass<T%> { |
| abstract extension-type-member representation-field get it() → self::GenericClass<T%>; |
| constructor • = self::ET_GenericClass|constructor#; |
| constructor tearoff • = self::ET_GenericClass|constructor#_#new#tearOff; |
| } |
| extension type ET_Alias(self::Class it) implements self::Class { |
| abstract extension-type-member representation-field get it() → self::Class; |
| constructor • = self::ET_Alias|constructor#; |
| constructor tearoff • = self::ET_Alias|constructor#_#new#tearOff; |
| } |
| extension type ET_GenericAlias<T extends core::Object? = dynamic>(self::GenericClass<T%> it) implements self::GenericClass<T%> { |
| abstract extension-type-member representation-field get it() → self::GenericClass<T%>; |
| constructor • = self::ET_GenericAlias|constructor#; |
| constructor tearoff • = self::ET_GenericAlias|constructor#_#new#tearOff; |
| } |
| extension type ET_ExtensionType(core::int it) implements self::ExtensionType% /* erasure=core::int, declared=! */ { |
| abstract extension-type-member representation-field get it() → core::int; |
| constructor • = self::ET_ExtensionType|constructor#; |
| constructor tearoff • = self::ET_ExtensionType|constructor#_#new#tearOff; |
| } |
| extension type ET_GenericExtensionType<T extends core::Object? = dynamic>(T% it) implements self::GenericExtensionType<T%>% /* erasure=T%, declared=! */ { |
| abstract extension-type-member representation-field get it() → T%; |
| constructor • = self::ET_GenericExtensionType|constructor#; |
| constructor tearoff • = self::ET_GenericExtensionType|constructor#_#new#tearOff; |
| } |
| static extension-type-member method ExtensionType|constructor#(core::int it) → self::ExtensionType% /* erasure=core::int, declared=! */ { |
| lowered final self::ExtensionType% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ExtensionType|constructor#_#new#tearOff(core::int it) → self::ExtensionType% /* erasure=core::int, declared=! */ |
| return self::ExtensionType|constructor#(it); |
| static extension-type-member method GenericExtensionType|constructor#<T extends core::Object? = dynamic>(self::GenericExtensionType|constructor#::T% it) → self::GenericExtensionType<self::GenericExtensionType|constructor#::T%>% /* erasure=self::GenericExtensionType|constructor#::T%, declared=! */ { |
| lowered final self::GenericExtensionType<self::GenericExtensionType|constructor#::T%>% /* erasure=self::GenericExtensionType|constructor#::T%, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method GenericExtensionType|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::GenericExtensionType|constructor#_#new#tearOff::T% it) → self::GenericExtensionType<self::GenericExtensionType|constructor#_#new#tearOff::T%>% /* erasure=self::GenericExtensionType|constructor#_#new#tearOff::T%, declared=! */ |
| return self::GenericExtensionType|constructor#<self::GenericExtensionType|constructor#_#new#tearOff::T%>(it); |
| static extension-type-member method ET_Null|constructor#(Null it) → self::ET_Null% /* erasure=Null, declared=! */ { |
| lowered final self::ET_Null% /* erasure=Null, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Null|constructor#_#new#tearOff(Null it) → self::ET_Null% /* erasure=Null, declared=! */ |
| return self::ET_Null|constructor#(it); |
| static extension-type-member method ET_Dynamic|constructor#(dynamic it) → self::ET_Dynamic% /* erasure=dynamic, declared=! */ { |
| lowered final self::ET_Dynamic% /* erasure=dynamic, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Dynamic|constructor#_#new#tearOff(dynamic it) → self::ET_Dynamic% /* erasure=dynamic, declared=! */ |
| return self::ET_Dynamic|constructor#(it); |
| static extension-type-member method ET_Void|constructor#(Null it) → self::ET_Void% /* erasure=Null, declared=! */ { |
| lowered final self::ET_Void% /* erasure=Null, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Void|constructor#_#new#tearOff(Null it) → self::ET_Void% /* erasure=Null, declared=! */ |
| return self::ET_Void|constructor#(it); |
| static extension-type-member method ET_Never|constructor#(Never it) → self::ET_Never% /* erasure=invalid-type, declared=! */ { |
| lowered final self::ET_Never% /* erasure=invalid-type, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Never|constructor#_#new#tearOff(Never it) → self::ET_Never% /* erasure=invalid-type, declared=! */ |
| return self::ET_Never|constructor#(it); |
| static extension-type-member method ET_Object|constructor#(core::Object it) → self::ET_Object /* erasure=core::Object */ { |
| lowered final self::ET_Object /* erasure=core::Object */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Object|constructor#_#new#tearOff(core::Object it) → self::ET_Object /* erasure=core::Object */ |
| return self::ET_Object|constructor#(it); |
| static extension-type-member method ET_Record|constructor#(core::Record it) → self::ET_Record% /* erasure=core::Record, declared=! */ { |
| lowered final self::ET_Record% /* erasure=core::Record, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Record|constructor#_#new#tearOff(core::Record it) → self::ET_Record% /* erasure=core::Record, declared=! */ |
| return self::ET_Record|constructor#(it); |
| static extension-type-member method ET_RecordType|constructor#((core::int, core::String) it) → self::ET_RecordType% /* erasure=(core::int, core::String), declared=! */ { |
| lowered final self::ET_RecordType% /* erasure=(core::int, core::String), declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_RecordType|constructor#_#new#tearOff((core::int, core::String) it) → self::ET_RecordType% /* erasure=(core::int, core::String), declared=! */ |
| return self::ET_RecordType|constructor#(it); |
| static extension-type-member method ET_Function|constructor#(core::Function it) → self::ET_Function% /* erasure=core::Function, declared=! */ { |
| lowered final self::ET_Function% /* erasure=core::Function, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Function|constructor#_#new#tearOff(core::Function it) → self::ET_Function% /* erasure=core::Function, declared=! */ |
| return self::ET_Function|constructor#(it); |
| static extension-type-member method ET_FunctionType|constructor#(() → void it) → self::ET_FunctionType% /* erasure=() → void, declared=! */ { |
| lowered final self::ET_FunctionType% /* erasure=() → void, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_FunctionType|constructor#_#new#tearOff(() → void it) → self::ET_FunctionType% /* erasure=() → void, declared=! */ |
| return self::ET_FunctionType|constructor#(it); |
| static extension-type-member method ET_NullableInterfaceType|constructor#(core::String? it) → self::ET_NullableInterfaceType% /* erasure=core::String?, declared=! */ { |
| lowered final self::ET_NullableInterfaceType% /* erasure=core::String?, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_NullableInterfaceType|constructor#_#new#tearOff(core::String? it) → self::ET_NullableInterfaceType% /* erasure=core::String?, declared=! */ |
| return self::ET_NullableInterfaceType|constructor#(it); |
| static extension-type-member method ET_NullableExtensionType|constructor#(core::int it) → self::ET_NullableExtensionType% /* erasure=core::int, declared=! */ { |
| lowered final self::ET_NullableExtensionType% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_NullableExtensionType|constructor#_#new#tearOff(core::int it) → self::ET_NullableExtensionType% /* erasure=core::int, declared=! */ |
| return self::ET_NullableExtensionType|constructor#(it); |
| static extension-type-member method ET_FutureOr|constructor#(FutureOr<core::int>it) → self::ET_FutureOr% /* erasure=FutureOr<core::int>, declared=! */ { |
| lowered final self::ET_FutureOr% /* erasure=FutureOr<core::int>, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_FutureOr|constructor#_#new#tearOff(FutureOr<core::int>it) → self::ET_FutureOr% /* erasure=FutureOr<core::int>, declared=! */ |
| return self::ET_FutureOr|constructor#(it); |
| static extension-type-member method ET_Extension|constructor#_#new#tearOff(core::int it) → self::ET_Extension% /* erasure=core::int, declared=! */ |
| return self::ET_Extension|constructor#(it); |
| static extension-type-member method ET_Extension|constructor#(core::int it) → self::ET_Extension% /* erasure=core::int, declared=! */ { |
| lowered final self::ET_Extension% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_TypeVariable|constructor#<T extends core::Object? = dynamic>(self::ET_TypeVariable|constructor#::T% it) → self::ET_TypeVariable<self::ET_TypeVariable|constructor#::T%>% /* erasure=self::ET_TypeVariable|constructor#::T%, declared=! */ { |
| lowered final self::ET_TypeVariable<self::ET_TypeVariable|constructor#::T%>% /* erasure=self::ET_TypeVariable|constructor#::T%, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_TypeVariable|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET_TypeVariable|constructor#_#new#tearOff::T% it) → self::ET_TypeVariable<self::ET_TypeVariable|constructor#_#new#tearOff::T%>% /* erasure=self::ET_TypeVariable|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ET_TypeVariable|constructor#<self::ET_TypeVariable|constructor#_#new#tearOff::T%>(it); |
| static extension-type-member method ET_Class|constructor#(self::Class it) → self::ET_Class /* erasure=self::Class */ { |
| lowered final self::ET_Class /* erasure=self::Class */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Class|constructor#_#new#tearOff(self::Class it) → self::ET_Class /* erasure=self::Class */ |
| return self::ET_Class|constructor#(it); |
| static extension-type-member method ET_GenericClass|constructor#<T extends core::Object? = dynamic>(self::GenericClass<self::ET_GenericClass|constructor#::T%> it) → self::ET_GenericClass<self::ET_GenericClass|constructor#::T%> /* erasure=self::GenericClass<self::ET_GenericClass|constructor#::T%> */ { |
| lowered final self::ET_GenericClass<self::ET_GenericClass|constructor#::T%> /* erasure=self::GenericClass<self::ET_GenericClass|constructor#::T%> */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_GenericClass|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::GenericClass<self::ET_GenericClass|constructor#_#new#tearOff::T%> it) → self::ET_GenericClass<self::ET_GenericClass|constructor#_#new#tearOff::T%> /* erasure=self::GenericClass<self::ET_GenericClass|constructor#_#new#tearOff::T%> */ |
| return self::ET_GenericClass|constructor#<self::ET_GenericClass|constructor#_#new#tearOff::T%>(it); |
| static extension-type-member method ET_Alias|constructor#(self::Class it) → self::ET_Alias /* erasure=self::Class */ { |
| lowered final self::ET_Alias /* erasure=self::Class */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_Alias|constructor#_#new#tearOff(self::Class it) → self::ET_Alias /* erasure=self::Class */ |
| return self::ET_Alias|constructor#(it); |
| static extension-type-member method ET_GenericAlias|constructor#<T extends core::Object? = dynamic>(self::GenericClass<self::ET_GenericAlias|constructor#::T%> it) → self::ET_GenericAlias<self::ET_GenericAlias|constructor#::T%> /* erasure=self::GenericClass<self::ET_GenericAlias|constructor#::T%> */ { |
| lowered final self::ET_GenericAlias<self::ET_GenericAlias|constructor#::T%> /* erasure=self::GenericClass<self::ET_GenericAlias|constructor#::T%> */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_GenericAlias|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::GenericClass<self::ET_GenericAlias|constructor#_#new#tearOff::T%> it) → self::ET_GenericAlias<self::ET_GenericAlias|constructor#_#new#tearOff::T%> /* erasure=self::GenericClass<self::ET_GenericAlias|constructor#_#new#tearOff::T%> */ |
| return self::ET_GenericAlias|constructor#<self::ET_GenericAlias|constructor#_#new#tearOff::T%>(it); |
| static extension-type-member method ET_ExtensionType|constructor#(core::int it) → self::ET_ExtensionType% /* erasure=core::int, declared=! */ { |
| lowered final self::ET_ExtensionType% /* erasure=core::int, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_ExtensionType|constructor#_#new#tearOff(core::int it) → self::ET_ExtensionType% /* erasure=core::int, declared=! */ |
| return self::ET_ExtensionType|constructor#(it); |
| static extension-type-member method ET_GenericExtensionType|constructor#<T extends core::Object? = dynamic>(self::ET_GenericExtensionType|constructor#::T% it) → self::ET_GenericExtensionType<self::ET_GenericExtensionType|constructor#::T%>% /* erasure=self::ET_GenericExtensionType|constructor#::T%, declared=! */ { |
| lowered final self::ET_GenericExtensionType<self::ET_GenericExtensionType|constructor#::T%>% /* erasure=self::ET_GenericExtensionType|constructor#::T%, declared=! */ #this = it; |
| return #this; |
| } |
| static extension-type-member method ET_GenericExtensionType|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET_GenericExtensionType|constructor#_#new#tearOff::T% it) → self::ET_GenericExtensionType<self::ET_GenericExtensionType|constructor#_#new#tearOff::T%>% /* erasure=self::ET_GenericExtensionType|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ET_GenericExtensionType|constructor#<self::ET_GenericExtensionType|constructor#_#new#tearOff::T%>(it); |