in ClrHeapAllocationsAnalyzer/AvoidAllocationWithArrayEmptyCodeFix.cs [175:189]
private SyntaxNode ReplaceExpression(SyntaxNode node, ExpressionSyntax newExpression)
{
switch (node.Parent)
{
case ReturnStatementSyntax parentReturn:
return parentReturn.WithExpression(newExpression);
case ArrowExpressionClauseSyntax arrowStatement:
return arrowStatement.WithExpression(newExpression);
case ArgumentListSyntax argumentList:
var newArguments = argumentList.Arguments.Select(x => x == node ? SyntaxFactory.Argument(newExpression) : x);
return argumentList.WithArguments(SyntaxFactory.SeparatedList(newArguments));
default:
return null;
}
}