Skip to content

Commit

Permalink
reset accidentally commited file
Browse files Browse the repository at this point in the history
  • Loading branch information
mary-georgiou-sonarsource committed Aug 2, 2023
1 parent cb842a0 commit e114c8a
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions analyzers/src/SonarAnalyzer.CSharp/Rules/MethodParameterUnused.cs
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ private void ReportUnusedParametersOnMethod(MethodContext declaration)

private void ReportOnDeadParametersAtEntry(MethodContext declaration, IImmutableList<IParameterSymbol> noReportOnParameters)
{
var declarationNode = (CSharpSyntaxNode)declaration.MethodDeclaration ?? declaration.LocalFunctionDeclaration;
if (declarationNode == null || declaration.Context.Node.IsKind(SyntaxKind.ConstructorDeclaration))
var bodyNode = (CSharpSyntaxNode)declaration.Body ?? declaration.ExpressionBody;
if (bodyNode == null || declaration.Context.Node.IsKind(SyntaxKind.ConstructorDeclaration))
{
return;
}
Expand All @@ -140,23 +140,23 @@ private void ReportOnDeadParametersAtEntry(MethodContext declaration, IImmutable
excludedParameters = excludedParameters.AddRange(declaration.Symbol.Parameters.Where(p => p.RefKind != RefKind.None));

var candidateParameters = declaration.Symbol.Parameters.Except(excludedParameters);
if (candidateParameters.Any() && ComputeLva(declaration, declarationNode) is { } lva)
if (candidateParameters.Any() && ComputeLva(declaration, bodyNode) is { } lva)
{
ReportOnUnusedParameters(declaration, candidateParameters.Except(lva.LiveInEntryBlock).Except(lva.CapturedVariables), MessageDead, isRemovable: false);
}
}

private LvaResult ComputeLva(MethodContext declaration, CSharpSyntaxNode declarationNode)
private LvaResult ComputeLva(MethodContext declaration, CSharpSyntaxNode body)
{
if (useSonarCfg)
{
return CSharpControlFlowGraph.TryGet(declarationNode, declaration.Context.SemanticModel, out var cfg)
return CSharpControlFlowGraph.TryGet(body, declaration.Context.SemanticModel, out var cfg)
? new LvaResult(declaration, cfg)
: null;
}
else
{
return declarationNode.CreateCfg(declaration.Context.SemanticModel, declaration.Context.Cancel) is { } cfg
return body.CreateCfg(declaration.Context.SemanticModel, declaration.Context.Cancel) is { } cfg
? new LvaResult(cfg, declaration.Context.Cancel)
: null;
}
Expand Down Expand Up @@ -256,23 +256,15 @@ private class MethodContext
{
public readonly SonarSyntaxNodeReportingContext Context;
public readonly IMethodSymbol Symbol;
public readonly BaseMethodDeclarationSyntax MethodDeclaration;
public readonly LocalFunctionStatementSyntaxWrapper LocalFunctionDeclaration;
public readonly ParameterListSyntax ParameterList;
public readonly BlockSyntax Body;
public readonly ArrowExpressionClauseSyntax ExpressionBody;

public MethodContext(SonarSyntaxNodeReportingContext context, BaseMethodDeclarationSyntax declaration)
: this(context, declaration.ParameterList, declaration.Body, declaration.ExpressionBody())
{
MethodDeclaration = declaration;
}
: this(context, declaration.ParameterList, declaration.Body, declaration.ExpressionBody()) { }

public MethodContext(SonarSyntaxNodeReportingContext context, LocalFunctionStatementSyntaxWrapper declaration)
: this(context, declaration.ParameterList, declaration.Body, declaration.ExpressionBody)
{
LocalFunctionDeclaration = declaration;
}
: this(context, declaration.ParameterList, declaration.Body, declaration.ExpressionBody) { }

private MethodContext(SonarSyntaxNodeReportingContext context, ParameterListSyntax parameterList, BlockSyntax body, ArrowExpressionClauseSyntax expressionBody)
{
Expand Down

0 comments on commit e114c8a

Please sign in to comment.