in src/dotnet/ReSharperPlugin.QuirkyFormatting/Psi/CodeStyle/Formatting/QuirkyCSharpUtils.cs [21:43]
public static IEnumerable<ILocalFunctionDeclaration> GetInvokedLocalFunctionDeclarations(
this IExpressionStatement expressionStatement
)
{
if (expressionStatement.Expression is not IInvocationExpression invokedExpr)
return Enumerable.Empty<ILocalFunctionDeclaration>();
var declarations = new List<ILocalFunctionDeclaration>();
foreach (var containingScope in expressionStatement.EnumerateContainingScopes())
{
declarations.AddRange(
containingScope.Children<IDeclarationStatement>()
.Where(
decl => decl.LocalFunctionDeclaration != null
&& decl.LocalFunctionDeclaration.NameIdentifier.Name == invokedExpr.Reference.GetName()
)
.Select(decl => decl.LocalFunctionDeclaration)
);
}
return declarations;
}