@@ -209,19 +209,21 @@ static bool IsSetOrEventAccessor(IMethod method)
209209
210210 foreach ( var ( i , p ) in function . Parameters . WithIndex ( ) )
211211 {
212+ string name = string . IsNullOrWhiteSpace ( p . Name ) ? variables [ i ] . Name : p . Name ;
213+
212214 if ( function . Kind is ILFunctionKind . Delegate or ILFunctionKind . ExpressionTree
213- && CSharpDecompiler . IsTransparentIdentifier ( p . Name ) )
215+ && CSharpDecompiler . IsTransparentIdentifier ( name ) )
214216 {
215- AddExistingName ( reservedVariableNames , p . Name ) ;
217+ AddExistingName ( reservedVariableNames , name ) ;
216218 if ( variables . TryGetValue ( i , out var v ) )
217- variableMapping [ v ] = p . Name ;
219+ variableMapping [ v ] = name ;
218220 }
219- string nameWithoutNumber = SplitName ( p . Name , out int newIndex ) ;
221+ string nameWithoutNumber = SplitName ( name , out int newIndex ) ;
220222 if ( ! parentScope . IsReservedVariableName ( nameWithoutNumber , out _ ) )
221223 {
222- AddExistingName ( reservedVariableNames , p . Name ) ;
224+ AddExistingName ( reservedVariableNames , name ) ;
223225 if ( variables . TryGetValue ( i , out var v ) )
224- variableMapping [ v ] = p . Name ;
226+ variableMapping [ v ] = name ;
225227 }
226228 else if ( variables . TryGetValue ( i , out var v ) )
227229 {
@@ -340,7 +342,7 @@ public string AssignName(ILVariable v)
340342 }
341343 // update the last used index
342344 ReserveVariableName ( nameWithoutNumber , newIndex ) ;
343- variableMapping . Add ( v , newName ) ;
345+ variableMapping [ v ] = newName ;
344346 return newName ;
345347 }
346348
0 commit comments