diff --git a/pkg/front_end/lib/src/builder/formal_parameter_builder.dart b/pkg/front_end/lib/src/builder/formal_parameter_builder.dart
index d8d729f3a4e..e2efd05b800 100644
--- a/pkg/front_end/lib/src/builder/formal_parameter_builder.dart
+++ b/pkg/front_end/lib/src/builder/formal_parameter_builder.dart
@@ -120,8 +120,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
final bool isExtensionThis;
- /// Whether this formal parameter is a wildcard variable.
- final bool isWildcard;
+ /// If this is a wildcard variable, this holds the index used to create a
+ /// uniquely named kernel variable for it.
+ final int? _wildcardIndex;
final int? nameOffset;
@@ -137,12 +138,13 @@ class FormalParameterBuilder extends NamedBuilderImpl
this.isExtensionThis = false,
Token? defaultValueToken,
required this.hasImmediatelyDeclaredInitializer,
- this.isWildcard = false,
+ int? wildcardIndex,
this.publicName,
required this.nameOffset,
required this.isClosureContextLoweringEnabled,
}) : this.hasDeclaredInitializer = hasImmediatelyDeclaredInitializer,
- this._defaultValueToken = defaultValueToken {
+ this._defaultValueToken = defaultValueToken,
+ this._wildcardIndex = wildcardIndex {
type.registerInferredTypeListener(this);
}
@@ -177,6 +179,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
@override
bool get isConst => modifiers.isConst;
+ /// Whether this formal parameter is a wildcard variable.
+ bool get isWildcard => _wildcardIndex != null;
+
// An initializing formal parameter might be final without its
// VariableDeclaration being final. See
// [ProcedureBuilder.computeFormalParameterInitializerScope]..
@@ -206,6 +211,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
// If the parameter is a private named parameter, use the public name
// for the corresponding variable.
_ when publicName != null => publicName,
+ _ when _wildcardIndex != null => createWildcardFormalParameterName(
+ _wildcardIndex,
+ ),
_ => name,
};
@@ -275,6 +283,12 @@ class FormalParameterBuilder extends NamedBuilderImpl
}
}
+ /// Creates the [FormalParameterBuilder] for a declaring parameter used in the
+ /// formal parameters in a primary constructor.
+ ///
+ /// This parameter is marked as an initializing formal whose type is inferred
+ /// and replaces the original parameter in the primary constructor
+ /// declaration.
FormalParameterBuilder forPrimaryConstructor(FragmentFactory builderFactory) {
return new FormalParameterBuilder(
kind: kind,
@@ -290,45 +304,11 @@ class FormalParameterBuilder extends NamedBuilderImpl
defaultValueToken: copyDefaultValueToken(),
hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
publicName: publicName,
+ wildcardIndex: _wildcardIndex,
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
)..variable = variable;
}
- FormalParameterBuilder forFormalParameterInitializerScope() {
- if (isInitializingFormal) {
- return new FormalParameterBuilder(
- kind: kind,
- modifiers: modifiers | Modifiers.Final | Modifiers.InitializingFormal,
- type: type,
- name: name,
- fileOffset: fileOffset,
- nameOffset: nameOffset,
- fileUri: fileUri,
- isExtensionThis: isExtensionThis,
- hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
- publicName: publicName,
- isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
- )..variable = variable;
- } else if (isSuperInitializingFormal) {
- return new FormalParameterBuilder(
- kind: kind,
- modifiers:
- modifiers | Modifiers.Final | Modifiers.SuperInitializingFormal,
- type: type,
- name: name,
- fileOffset: fileOffset,
- nameOffset: nameOffset,
- fileUri: fileUri,
- isExtensionThis: isExtensionThis,
- hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
- publicName: publicName,
- isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
- )..variable = variable;
- } else {
- return this;
- }
- }
-
void finalizeInitializingFormal(
DeclarationBuilder declarationBuilder,
SourceConstructorBuilder constructorBuilder,
diff --git a/pkg/front_end/lib/src/builder/inferable_type_builder.dart b/pkg/front_end/lib/src/builder/inferable_type_builder.dart
index 0d15d747ef9..d3f9ed8c782 100644
--- a/pkg/front_end/lib/src/builder/inferable_type_builder.dart
+++ b/pkg/front_end/lib/src/builder/inferable_type_builder.dart
@@ -48,6 +48,7 @@ mixin InferableTypeBuilderMixin {
void registerInferredTypeListener(InferredTypeListener onType) {
if (isExplicit) return;
if (hasType) {
+ // Coverage-ignore-block(suite): Not run.
onType.onInferredType(type);
} else {
(_listeners ??= []).add(onType);
diff --git a/pkg/front_end/lib/src/fragment/constructor/declaration.dart b/pkg/front_end/lib/src/fragment/constructor/declaration.dart
index 70abdb8d004..49d542dce7c 100644
--- a/pkg/front_end/lib/src/fragment/constructor/declaration.dart
+++ b/pkg/front_end/lib/src/fragment/constructor/declaration.dart
@@ -195,7 +195,7 @@ mixin _ConstructorDeclarationMixin
// variable in the initializer list.
if (formal.isWildcard) continue;
- list.add(formal.forFormalParameterInitializerScope());
+ list.add(formal);
}
return list;
}
diff --git a/pkg/front_end/lib/src/kernel/body_builder.dart b/pkg/front_end/lib/src/kernel/body_builder.dart
index f53912dd6e5..c1888f4d18f 100644
--- a/pkg/front_end/lib/src/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/kernel/body_builder.dart
@@ -5414,11 +5414,9 @@ class BodyBuilderImpl extends StackListenerImpl
);
bool isWildcard =
libraryFeatures.wildcardVariables.isEnabled && parameterName == '_';
+ int? wildcardIndex;
if (isWildcard) {
- parameterName = createWildcardFormalParameterName(
- wildcardVariableIndex,
- );
- wildcardVariableIndex++;
+ wildcardIndex = wildcardVariableIndex++;
}
if (memberKind.isFunctionType) {
push(
@@ -5439,7 +5437,7 @@ class BodyBuilderImpl extends StackListenerImpl
nameOffset: nameOffset,
fileUri: uri,
hasImmediatelyDeclaredInitializer: initializerStart != null,
- isWildcard: isWildcard,
+ wildcardIndex: wildcardIndex,
publicName: publicName,
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
);
diff --git a/pkg/front_end/lib/src/kernel/resolver.dart b/pkg/front_end/lib/src/kernel/resolver.dart
index 548c6d63ff8..3f6d0aa9f1a 100644
--- a/pkg/front_end/lib/src/kernel/resolver.dart
+++ b/pkg/front_end/lib/src/kernel/resolver.dart
@@ -15,7 +15,6 @@ import 'package:kernel/core_types.dart';
import 'package:kernel/type_environment.dart';
import '../api_prototype/experimental_flags.dart';
-import '../api_prototype/lowering_predicates.dart';
import '../base/compiler_context.dart';
import '../base/constant_context.dart' show ConstantContext;
import '../base/crash.dart';
@@ -891,11 +890,9 @@ class Resolver {
bool isWildcard =
libraryFeatures.wildcardVariables.isEnabled &&
formalName == '_';
+ int? wildcardIndex;
if (isWildcard) {
- formalName = createWildcardFormalParameterName(
- wildcardVariableIndex,
- );
- wildcardVariableIndex++;
+ wildcardIndex = wildcardVariableIndex++;
}
return new FormalParameterBuilder(
kind: FormalParameterKind.requiredPositional,
@@ -906,7 +903,7 @@ class Resolver {
fileOffset: formal.fileOffset,
fileUri: fileUri,
hasImmediatelyDeclaredInitializer: false,
- isWildcard: isWildcard,
+ wildcardIndex: wildcardIndex,
isClosureContextLoweringEnabled: libraryBuilder
.loader
.target
diff --git a/pkg/front_end/lib/src/kernel/wildcard_lowering.dart b/pkg/front_end/lib/src/kernel/wildcard_lowering.dart
index 96afacbe3ba..8c9ddb49cf2 100644
--- a/pkg/front_end/lib/src/kernel/wildcard_lowering.dart
+++ b/pkg/front_end/lib/src/kernel/wildcard_lowering.dart
@@ -24,7 +24,9 @@ String createWildcardVariableName(int index) {
/// Whether the given [name] is a wildcard formal parameter.
bool isWildcardLoweredFormalParameter(String name) {
- return name.startsWith(wildcardPrefix) && name.endsWith(wildcardFormalSuffix);
+ return name.startsWith(wildcardPrefix) &&
+ // Coverage-ignore(suite): Not run.
+ name.endsWith(wildcardFormalSuffix);
}
// Coverage-ignore(suite): Not run.
diff --git a/pkg/front_end/lib/src/source/fragment_factory.dart b/pkg/front_end/lib/src/source/fragment_factory.dart
index dc2d6a8121f..dea1d1d2fa0 100644
--- a/pkg/front_end/lib/src/source/fragment_factory.dart
+++ b/pkg/front_end/lib/src/source/fragment_factory.dart
@@ -483,7 +483,6 @@ abstract class FragmentFactory {
required bool hasSuper,
required int nameOffset,
required Token? initializerToken,
- bool lowerWildcard = false,
});
ConstructorReferenceBuilder addConstructorReference(
diff --git a/pkg/front_end/lib/src/source/fragment_factory_impl.dart b/pkg/front_end/lib/src/source/fragment_factory_impl.dart
index ff88931fda9..d6e0a9d227b 100644
--- a/pkg/front_end/lib/src/source/fragment_factory_impl.dart
+++ b/pkg/front_end/lib/src/source/fragment_factory_impl.dart
@@ -2247,7 +2247,6 @@ class FragmentFactoryImpl implements FragmentFactory {
required bool hasSuper,
required int nameOffset,
required Token? initializerToken,
- bool lowerWildcard = false,
}) {
assert(
!hasThis || !hasSuper,
@@ -2259,24 +2258,23 @@ class FragmentFactoryImpl implements FragmentFactory {
if (hasSuper) {
modifiers |= Modifiers.SuperInitializingFormal;
}
- String formalName = name;
bool isWildcard =
- libraryFeatures.wildcardVariables.isEnabled && formalName == '_';
- if (isWildcard && lowerWildcard) {
- formalName = createWildcardFormalParameterName(wildcardVariableIndex);
- wildcardVariableIndex++;
+ libraryFeatures.wildcardVariables.isEnabled && name == '_';
+ int? wildcardIndex;
+ if (isWildcard) {
+ wildcardIndex = wildcardVariableIndex++;
}
FormalParameterBuilder formal = new FormalParameterBuilder(
kind: kind,
modifiers: modifiers,
type: type,
- name: formalName,
+ name: name,
nameOffset: nameOffset,
fileOffset: nameOffset,
fileUri: _compilationUnit.fileUri,
defaultValueToken: initializerToken,
hasImmediatelyDeclaredInitializer: initializerToken != null,
- isWildcard: isWildcard,
+ wildcardIndex: wildcardIndex,
publicName: publicName,
isClosureContextLoweringEnabled: _compilationUnit
.loader
diff --git a/pkg/front_end/lib/src/source/outline_builder.dart b/pkg/front_end/lib/src/source/outline_builder.dart
index 07fba2976c2..2942259cad7 100644
--- a/pkg/front_end/lib/src/source/outline_builder.dart
+++ b/pkg/front_end/lib/src/source/outline_builder.dart
@@ -3087,9 +3087,6 @@ class OutlineBuilder extends StackListenerImpl {
hasSuper: superKeyword != null,
nameOffset: identifier?.nameOffset ?? nameToken.charOffset,
initializerToken: initializerStart,
- // Extension type parameters should not have a lowered name for
- // wildcard variables.
- lowerWildcard: declarationContext != DeclarationContext.ExtensionType,
),
);
}
diff --git a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.expect b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.expect
index 7d9aa20e970..96b490ba533 100644
--- a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.expect
+++ b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.expect
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
static const field core::String? maybe = #C5;
-static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
- lowered final self::Ext /* erasure=core::String */ #this = _;
+static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
+ lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
- return self::Ext|constructor#_(_);
+static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
+ return self::Ext|constructor#_(_#wc0#formal);
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
lowered final self::Ext /* erasure=core::String */ #this = "OK";
assert(!(#C5 == null), "Must not be null");
diff --git a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.modular.expect b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.modular.expect
index 7d9aa20e970..96b490ba533 100644
--- a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.modular.expect
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
static const field core::String? maybe = #C5;
-static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
- lowered final self::Ext /* erasure=core::String */ #this = _;
+static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
+ lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
- return self::Ext|constructor#_(_);
+static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
+ return self::Ext|constructor#_(_#wc0#formal);
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
lowered final self::Ext /* erasure=core::String */ #this = "OK";
assert(!(#C5 == null), "Must not be null");
diff --git a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.outline.expect b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.outline.expect
index b8b149cd268..b8042e6e2b4 100644
--- a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.outline.expect
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
static const field core::String? maybe = const core::bool::fromEnvironment("not there") ?{core::String?} "string" : null;
-static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
- lowered final self::Ext /* erasure=core::String */ #this = _;
+static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
+ lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
- return self::Ext|constructor#_(_);
+static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
+ return self::Ext|constructor#_(_#wc0#formal);
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
lowered final self::Ext /* erasure=core::String */ #this = "OK";
assert(!(self::maybe == null), "Must not be null");
diff --git a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.transformed.expect b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.transformed.expect
index cfaffaab19f..cddab8a9c56 100644
--- a/pkg/front_end/testcases/dart2js/issue56803.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dart2js/issue56803.dart.strong.transformed.expect
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
static const field core::String? maybe = #C5;
-static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
- lowered final self::Ext /* erasure=core::String */ #this = _;
+static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
+ lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
- return self::Ext|constructor#_(_);
+static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
+ return self::Ext|constructor#_(_#wc0#formal);
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
lowered final self::Ext /* erasure=core::String */ #this = "OK";
assert(!(#C5 == null), "Must not be null");
diff --git a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.expect b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.expect
index 1470ed75d5d..8dc40e18ad0 100644
--- a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.expect
+++ b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.expect
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::NullableObjectUtilExtension|isA(any);
js_::NullableObjectUtilExtension|isA(any);
diff --git a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.modular.expect b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.modular.expect
index 1470ed75d5d..8dc40e18ad0 100644
--- a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.modular.expect
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::NullableObjectUtilExtension|isA(any);
js_::NullableObjectUtilExtension|isA(any);
diff --git a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.outline.expect b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.outline.expect
index 439f9336bdd..1d64978e487 100644
--- a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.outline.expect
@@ -27,22 +27,22 @@ extension type CustomJSArray(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */
;
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void
;
static method main() → void
diff --git a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.transformed.expect b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.transformed.expect
index 5c2d01f59d7..98813129b38 100644
--- a/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dart2js/js_interop_transforms/isa.dart.strong.transformed.expect
@@ -28,30 +28,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=_interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=_interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::_isJSAny(any);
js_::_isNullableJSAny(any);
diff --git a/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.expect b/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.expect
index 580f72feeb0..82728e849b6 100644
--- a/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.expect
+++ b/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.expect
@@ -47,12 +47,12 @@ static method main() → void {
#t4.{core::List::add}{Invariant}(new self::C::v1()){(self::C) → void};
} =>#t4;
}
-static extension-type-member const method E|constructor#_(core::int? _) → self::E% /* erasure=core::int?, declared=! */ {
- lowered final self::E% /* erasure=core::int?, declared=! */ #this = _;
+static extension-type-member const method E|constructor#_(wildcard core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */ {
+ lowered final self::E% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method E|constructor#_#_#tearOff(core::int? _) → self::E% /* erasure=core::int?, declared=! */
- return self::E|constructor#_(_);
+static extension-type-member synthetic method E|constructor#_#_#tearOff(core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */
+ return self::E|constructor#_(_#wc0#formal);
static extension-type-member const method E|constructor#vn() → self::E% /* erasure=core::int?, declared=! */ {
lowered final self::E% /* erasure=core::int?, declared=! */ #this;
#this = self::E|constructor#_(null);
diff --git a/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.transformed.expect b/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.transformed.expect
index d19e409eba1..5455b07892c 100644
--- a/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dart2wasm/issue61222.dart.strong.transformed.expect
@@ -44,12 +44,12 @@ static method main() → void {
#t4.{core::List::add}{Invariant}(new self::C::v1()){(self::C) → void};
} =>#t4;
}
-static extension-type-member const method E|constructor#_(final core::int? _) → self::E% /* erasure=core::int?, declared=! */ {
- lowered final self::E% /* erasure=core::int?, declared=! */ #this = _;
+static extension-type-member const method E|constructor#_(final wildcard core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */ {
+ lowered final self::E% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method E|constructor#_#_#tearOff(final core::int? _) → self::E% /* erasure=core::int?, declared=! */
- return self::E|constructor#_(_);
+static extension-type-member synthetic method E|constructor#_#_#tearOff(final core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */
+ return self::E|constructor#_(_#wc0#formal);
static extension-type-member const method E|constructor#vn() → self::E% /* erasure=core::int?, declared=! */ {
lowered final self::E% /* erasure=core::int?, declared=! */ #this;
#this = self::E|constructor#_(null);
diff --git a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.expect b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.expect
index 8ed94b21dc1..a5caf2a5979 100644
--- a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.expect
+++ b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.expect
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::NullableObjectUtilExtension|isA(any);
js_::NullableObjectUtilExtension|isA(any);
diff --git a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.modular.expect b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.modular.expect
index 8ed94b21dc1..a5caf2a5979 100644
--- a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.modular.expect
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::NullableObjectUtilExtension|isA(any);
js_::NullableObjectUtilExtension|isA(any);
diff --git a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.outline.expect b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.outline.expect
index 1d34fb029f0..60d1b079ab6 100644
--- a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.outline.expect
@@ -27,22 +27,22 @@ extension type CustomJSArray(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
;
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void
;
static method main() → void
diff --git a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.transformed.expect b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.transformed.expect
index 12d077a0d72..31143fcc438 100644
--- a/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dartdevc/js_interop_transforms/isa.dart.strong.transformed.expect
@@ -28,30 +28,30 @@ extension type CustomJSArray(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
- lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _;
+static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
+ return self::CustomTypedArray|constructor#(_#wc2#formal);
+static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */ {
+ lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray */ #this = _#wc3#formal;
return #this;
}
-static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
- return self::CustomJSArray|constructor#(_);
+static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray /* erasure=dart._interceptors::JSArray */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray */
+ return self::CustomJSArray|constructor#(_#wc3#formal);
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
js_::_isJSAny(any);
js_::_isNullableJSAny(any);
diff --git a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.expect b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.expect
index 8def0d75d59..7bbdd70b697 100644
--- a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.expect
+++ b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.expect
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
-static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
- lowered final self::ET1 /* erasure=self::A1 */ #this = _;
+static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
+ lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
- return self::ET1|constructor#(_);
+static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
+ return self::ET1|constructor#(_#wc0#formal);
static method main() → void {
core::Object o = #C4;
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
diff --git a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.modular.expect b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.modular.expect
index 8def0d75d59..7bbdd70b697 100644
--- a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.modular.expect
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
-static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
- lowered final self::ET1 /* erasure=self::A1 */ #this = _;
+static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
+ lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
- return self::ET1|constructor#(_);
+static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
+ return self::ET1|constructor#(_#wc0#formal);
static method main() → void {
core::Object o = #C4;
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
diff --git a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.outline.expect b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.outline.expect
index 716a0894419..6571afdbd3b 100644
--- a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.outline.expect
@@ -26,10 +26,10 @@ extension type ET1(self::A1 _) implements self::A1 {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
-static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */
+static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
;
-static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
- return self::ET1|constructor#(_);
+static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
+ return self::ET1|constructor#(_#wc0#formal);
static method main() → void
;
diff --git a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.transformed.expect
index 8def0d75d59..7bbdd70b697 100644
--- a/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dot_shorthands/tearoff.dart.strong.transformed.expect
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
constructor • = self::ET1|constructor#;
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
}
-static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
- lowered final self::ET1 /* erasure=self::A1 */ #this = _;
+static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
+ lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
- return self::ET1|constructor#(_);
+static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
+ return self::ET1|constructor#(_#wc0#formal);
static method main() → void {
core::Object o = #C4;
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
diff --git a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.expect
index 875de16906d..a985b73aad8 100644
--- a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.expect
@@ -6,12 +6,12 @@ extension type N(Null _) {
constructor • = self::N|constructor#;
constructor tearoff • = self::N|constructor#_#new#tearOff;
}
-static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
- lowered final self::N% /* erasure=Null, declared=! */ #this = _;
+static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
+ lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
- return self::N|constructor#(_);
+static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
+ return self::N|constructor#(_#wc0#formal);
static method main() → void {
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.modular.expect
index 875de16906d..a985b73aad8 100644
--- a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.modular.expect
@@ -6,12 +6,12 @@ extension type N(Null _) {
constructor • = self::N|constructor#;
constructor tearoff • = self::N|constructor#_#new#tearOff;
}
-static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
- lowered final self::N% /* erasure=Null, declared=! */ #this = _;
+static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
+ lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
- return self::N|constructor#(_);
+static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
+ return self::N|constructor#(_#wc0#formal);
static method main() → void {
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.outline.expect
index e47721fa8af..a4684973227 100644
--- a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.outline.expect
@@ -6,11 +6,11 @@ extension type N(Null _) {
constructor • = self::N|constructor#;
constructor tearoff • = self::N|constructor#_#new#tearOff;
}
-static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
- lowered final self::N% /* erasure=Null, declared=! */ #this = _;
+static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
+ lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
- return self::N|constructor#(_);
+static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
+ return self::N|constructor#(_#wc0#formal);
static method main() → void
;
diff --git a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.transformed.expect
index 358d254f806..ed1bd6b33b0 100644
--- a/pkg/front_end/testcases/extension_types/issue53610.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue53610.dart.strong.transformed.expect
@@ -6,12 +6,12 @@ extension type N(Null _) {
constructor • = self::N|constructor#;
constructor tearoff • = self::N|constructor#_#new#tearOff;
}
-static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
- lowered final self::N% /* erasure=Null, declared=! */ #this = _;
+static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
+ lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
- return self::N|constructor#(_);
+static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
+ return self::N|constructor#(_#wc0#formal);
static method main() → void {
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.expect
index dbd0f4da047..4c272047a3b 100644
--- a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.expect
@@ -9,12 +9,12 @@ extension type ET(T% _) {
constructor • = self::ET|constructor#;
constructor tearoff • = self::ET|constructor#_#new#tearOff;
}
-static extension-type-member method ET|constructor#(self::ET|constructor#::T% _) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
- lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
+static extension-type-member method ET|constructor#(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
+ lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
- return self::ET|constructor#(_);
+static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
+ return self::ET|constructor#(_#wc0#formal);
static extension-type-member method ET|test(lowered final self::ET% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
static extension-type-member method ET|get#test(lowered final self::ET% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
return () → void => self::ET|test(#this);
diff --git a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.modular.expect
index dbd0f4da047..4c272047a3b 100644
--- a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.modular.expect
@@ -9,12 +9,12 @@ extension type ET(T% _) {
constructor • = self::ET|constructor#;
constructor tearoff • = self::ET|constructor#_#new#tearOff;
}
-static extension-type-member method ET|constructor#(self::ET|constructor#::T% _) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
- lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
+static extension-type-member method ET|constructor#(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
+ lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
- return self::ET|constructor#(_);
+static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
+ return self::ET|constructor#(_#wc0#formal);
static extension-type-member method ET|test(lowered final self::ET% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
static extension-type-member method ET|get#test(lowered final self::ET% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
return () → void => self::ET|test(#this);
diff --git a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.outline.expect
index ad0276c12df..5506d2455a8 100644
--- a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.outline.expect
@@ -9,10 +9,10 @@ extension type ET(T% _) {
constructor • = self::ET|constructor#;
constructor tearoff • = self::ET|constructor#_#new#tearOff;
}
-static extension-type-member method ET|constructor#(self::ET|constructor#::T% _) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */
+static extension-type-member method ET|constructor#(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */
;
-static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
- return self::ET|constructor#(_);
+static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
+ return self::ET|constructor#(_#wc0#formal);
static extension-type-member method ET|test(lowered final self::ET% /* erasure=self::ET|test::T%, declared=! */ #this) → void
;
static extension-type-member method ET|get#test(lowered final self::ET% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
diff --git a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.transformed.expect
index dbd0f4da047..4c272047a3b 100644
--- a/pkg/front_end/testcases/extension_types/issue53822.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue53822.dart.strong.transformed.expect
@@ -9,12 +9,12 @@ extension type ET(T% _) {
constructor • = self::ET|constructor#;
constructor tearoff • = self::ET|constructor#_#new#tearOff;
}
-static extension-type-member method ET|constructor#(self::ET|constructor#::T% _) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
- lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
+static extension-type-member method ET|constructor#(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ {
+ lowered final self::ET% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
- return self::ET|constructor#(_);
+static extension-type-member synthetic method ET|constructor#_#new#tearOff(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
+ return self::ET|constructor#(_#wc0#formal);
static extension-type-member method ET|test(lowered final self::ET% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
static extension-type-member method ET|get#test(lowered final self::ET% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
return () → void => self::ET|test(#this);
diff --git a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.expect
index 776a834f747..944791de639 100644
--- a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.expect
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast(core::Object? v) → self::E% /* erasure=core::Object?, declared=! */
return self::E|constructor#cast(v);
-static extension-type-member const method TypeOf|constructor#(self::TypeOf|constructor#::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
- lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
+static extension-type-member const method TypeOf|constructor#(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
+ lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
- return self::TypeOf|constructor#(_);
+static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
+ return self::TypeOf|constructor#(_#wc0#formal);
static method main() → void {
#C1;
#C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.modular.expect
index 776a834f747..944791de639 100644
--- a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.modular.expect
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast(core::Object? v) → self::E% /* erasure=core::Object?, declared=! */
return self::E|constructor#cast(v);
-static extension-type-member const method TypeOf|constructor#(self::TypeOf|constructor#::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
- lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
+static extension-type-member const method TypeOf|constructor#(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
+ lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
- return self::TypeOf|constructor#(_);
+static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
+ return self::TypeOf|constructor#(_#wc0#formal);
static method main() → void {
#C1;
#C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.outline.expect
index 24eb0765e39..5fd647ffda0 100644
--- a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.outline.expect
@@ -28,11 +28,11 @@ static extension-type-member const method E|constructor#cast(core::Object? v) → self::E% /* erasure=core::Object?, declared=! */
return self::E|constructor#cast(v);
-static extension-type-member const method TypeOf|constructor#(self::TypeOf|constructor#::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
- lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
+static extension-type-member const method TypeOf|constructor#(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
+ lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
- return self::TypeOf|constructor#(_);
+static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
+ return self::TypeOf|constructor#(_#wc0#formal);
static method main() → void
;
diff --git a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.transformed.expect
index 776a834f747..944791de639 100644
--- a/pkg/front_end/testcases/extension_types/issue53936.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue53936.dart.strong.transformed.expect
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast(core::Object? v) → self::E% /* erasure=core::Object?, declared=! */
return self::E|constructor#cast(v);
-static extension-type-member const method TypeOf|constructor#(self::TypeOf|constructor#::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
- lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
+static extension-type-member const method TypeOf|constructor#(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
+ lowered final self::TypeOf% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
- return self::TypeOf|constructor#(_);
+static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
+ return self::TypeOf|constructor#(_#wc0#formal);
static method main() → void {
#C1;
#C1;
diff --git a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.expect
index 2f648d91330..57fb9d58064 100644
--- a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.expect
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
constructor • = self::Ext|constructor#;
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
-static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
- lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
+ lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
- return self::Ext|constructor#(_);
+static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
+ return self::Ext|constructor#(_#wc0#formal);
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
return 42;
static method main() → void {
diff --git a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.modular.expect
index 2f648d91330..57fb9d58064 100644
--- a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.modular.expect
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
constructor • = self::Ext|constructor#;
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
-static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
- lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
+ lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
- return self::Ext|constructor#(_);
+static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
+ return self::Ext|constructor#(_#wc0#formal);
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
return 42;
static method main() → void {
diff --git a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.outline.expect
index c373e4155dd..8767ef40421 100644
--- a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.outline.expect
@@ -8,10 +8,10 @@ extension type Ext(core::Object? _) {
constructor • = self::Ext|constructor#;
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
-static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
+static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
;
-static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
- return self::Ext|constructor#(_);
+static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
+ return self::Ext|constructor#(_#wc0#formal);
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
;
static method main() → void
diff --git a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.transformed.expect
index 2f648d91330..57fb9d58064 100644
--- a/pkg/front_end/testcases/extension_types/issue53957.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue53957.dart.strong.transformed.expect
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
constructor • = self::Ext|constructor#;
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
}
-static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
- lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
+ lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
- return self::Ext|constructor#(_);
+static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
+ return self::Ext|constructor#(_#wc0#formal);
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
return 42;
static method main() → void {
diff --git a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.expect
index aaf579e2a1a..b3c89cca9d7 100644
--- a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.expect
@@ -30,12 +30,12 @@ static const field core::Map m3s4 = #C13;
static const field core::Map ms43 = #C14;
static const field core::Map ms3s4 = #C13;
-static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
- lowered final self::ExInt /* erasure=core::int */ #this = _;
+static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
+ lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
- return self::ExInt|constructor#(_);
+static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
+ return self::ExInt|constructor#(_#wc0#formal);
constants {
#C1 = 3
diff --git a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.modular.expect
index aaf579e2a1a..b3c89cca9d7 100644
--- a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.modular.expect
@@ -30,12 +30,12 @@ static const field core::Map m3s4 = #C13;
static const field core::Map ms43 = #C14;
static const field core::Map ms3s4 = #C13;
-static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
- lowered final self::ExInt /* erasure=core::int */ #this = _;
+static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
+ lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
- return self::ExInt|constructor#(_);
+static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
+ return self::ExInt|constructor#(_#wc0#formal);
constants {
#C1 = 3
diff --git a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.outline.expect
index b82a91ad9f5..446649d7d90 100644
--- a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.outline.expect
+++ b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.outline.expect
@@ -30,12 +30,12 @@ static const field core::Map m3s4 = const {self::ex3: self::ex3} + self::m4;
static const field core::Map ms43 = self::m4 + const {self::ex3: self::ex3};
static const field core::Map ms3s4 = self::m3 + self::m4;
-static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
- lowered final self::ExInt /* erasure=core::int */ #this = _;
+static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
+ lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
- return self::ExInt|constructor#(_);
+static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
+ return self::ExInt|constructor#(_#wc0#formal);
Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.transformed.expect
index aaf579e2a1a..b3c89cca9d7 100644
--- a/pkg/front_end/testcases/extension_types/issue54357.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/extension_types/issue54357.dart.strong.transformed.expect
@@ -30,12 +30,12 @@ static const field core::Map m3s4 = #C13;
static const field core::Map ms43 = #C14;
static const field core::Map ms3s4 = #C13;
-static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
- lowered final self::ExInt /* erasure=core::int */ #this = _;
+static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
+ lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
- return self::ExInt|constructor#(_);
+static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
+ return self::ExInt|constructor#(_#wc0#formal);
constants {
#C1 = 3
diff --git a/pkg/front_end/testcases/extension_types/issue54602.dart.strong.expect b/pkg/front_end/testcases/extension_types/issue54602.dart.strong.expect
index 417604d82ce..78198662362 100644
--- a/pkg/front_end/testcases/extension_types/issue54602.dart.strong.expect
+++ b/pkg/front_end/testcases/extension_types/issue54602.dart.strong.expect
@@ -32,21 +32,21 @@ extension type E3(core::Object? _) → self::E1% /* erasure=core::Object?, declared=! */ {
- lowered final self::E1% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member method E1|constructor#(wildcard core::Object? _#wc0#formal) → self::E1% /* erasure=core::Object?, declared=! */ {
+ lowered final self::E1% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method E1|constructor#_#new#tearOff(core::Object? _) → self::E1% /* erasure=core::Object?, declared=! */
- return self::E1|constructor#(_);
-static extension-type-member method E2|constructor#(core::Object? _) → self::E2% /* erasure=core::Object?, declared=! */ {
- lowered final self::E2% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member synthetic method E1|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::E1% /* erasure=core::Object?, declared=! */
+ return self::E1|constructor#(_#wc0#formal);
+static extension-type-member method E2|constructor#(wildcard core::Object? _#wc1#formal) → self::E2% /* erasure=core::Object?, declared=! */ {
+ lowered final self::E2% /* erasure=core::Object?, declared=! */ #this = _#wc1#formal;
return #this;
}
-static extension-type-member synthetic method E2|constructor#_#new#tearOff(core::Object? _) → self::E2% /* erasure=core::Object?, declared=! */
- return self::E2|constructor#(_);
-static extension-type-member method E3|constructor#(core::Object? _) → self::E3% /* erasure=core::Object?, declared=! */ {
- lowered final self::E3% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member synthetic method E2|constructor#_#new#tearOff(core::Object? _#wc1#formal) → self::E2% /* erasure=core::Object?, declared=! */
+ return self::E2|constructor#(_#wc1#formal);
+static extension-type-member method E3|constructor#(wildcard core::Object? _#wc2#formal) → self::E3% /* erasure=core::Object?, declared=! */ {
+ lowered final self::E3% /* erasure=core::Object?, declared=! */ #this = _#wc2#formal;
return #this;
}
-static extension-type-member synthetic method E3|constructor#_#new#tearOff(core::Object? _) → self::E3% /* erasure=core::Object?, declared=! */
- return self::E3|constructor#(_);
+static extension-type-member synthetic method E3|constructor#_#new#tearOff(core::Object? _#wc2#formal) → self::E3% /* erasure=core::Object?, declared=! */
+ return self::E3|constructor#(_#wc2#formal);
diff --git a/pkg/front_end/testcases/extension_types/issue54602.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/issue54602.dart.strong.modular.expect
index 417604d82ce..78198662362 100644
--- a/pkg/front_end/testcases/extension_types/issue54602.dart.strong.modular.expect
+++ b/pkg/front_end/testcases/extension_types/issue54602.dart.strong.modular.expect
@@ -32,21 +32,21 @@ extension type E3(core::Object? _) → self::E1% /* erasure=core::Object?, declared=! */ {
- lowered final self::E1% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member method E1|constructor#(wildcard core::Object? _#wc0#formal) → self::E1% /* erasure=core::Object?, declared=! */ {
+ lowered final self::E1% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
return #this;
}
-static extension-type-member synthetic method E1|constructor#_#new#tearOff(core::Object? _) → self::E1% /* erasure=core::Object?, declared=! */
- return self::E1|constructor#(_);
-static extension-type-member method E2|constructor#(core::Object? _) → self::E2% /* erasure=core::Object?, declared=! */ {
- lowered final self::E2% /* erasure=core::Object?, declared=! */ #this = _;
+static extension-type-member synthetic method E1|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::E1