Skip to content

Commit

Permalink
Merge pull request #3026 from rockfordlhotka/3025-analyzers
Browse files Browse the repository at this point in the history
Fix issues with analyzer project
  • Loading branch information
rockfordlhotka authored Jul 23, 2022
2 parents d7857bf + 63a7230 commit f6b9a46
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ private static void AnalyzeMethodDeclaration(SyntaxNodeAnalysisContext context)
.Any(invocation =>
{
return context.SemanticModel.GetSymbolInfo(invocation.Expression).Symbol is IMethodSymbol invocationSymbol &&
invocationSymbol.Name.StartsWith("Add") && Equals(invocationSymbol.ContainingType, contextParameter.Type);
invocationSymbol.Name.StartsWith("Add") && SymbolEqualityComparer.Default.Equals(invocationSymbol.ContainingType, contextParameter.Type);
});

if (!wasAddMethodCalled)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public override void VisitInvocationExpression(InvocationExpressionSyntax node)
foreach (var argument in node.ArgumentList.Arguments)
{
var argumentSymbol = Model.GetSymbolInfo(argument.Expression).Symbol;
UsesField = argumentSymbol != null && Equals(argumentSymbol, FieldSymbol);
UsesField = argumentSymbol != null && SymbolEqualityComparer.Default.Equals(argumentSymbol, FieldSymbol);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,12 @@ internal static bool IsSerializableByMobileFormatter(this ITypeSymbol @this, Com
{
var type = compilation.GetTypeByMetadataName(serializableType.FullName);

if(@this.Equals(type))
#pragma warning disable RS1024 // Symbols should be compared for equality
if (@this.Equals(type))
{
return true;
}
#pragma warning restore RS1024 // Symbols should be compared for equality
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ private static void AnalyzeMethodDeclaration(SyntaxNodeAnalysisContext context)
if (typeSymbol.IsStereotype() && methodSymbol.IsDataPortalOperation())
{
var taskType = context.Compilation.GetTypeByMetadataName(typeof(Task).FullName);
if(!(methodSymbol.ReturnsVoid || Equals(methodSymbol.ReturnType, taskType)))
if(!(methodSymbol.ReturnsVoid || SymbolEqualityComparer.Default.Equals(methodSymbol.ReturnType, taskType)))
{
context.ReportDiagnostic(Diagnostic.Create(
shouldOnlyReturnVoidOrTaskRule, methodSymbol.Locations[0]));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private static void AnalyzeMethodDeclaration(SyntaxNodeAnalysisContext context)
.Any(invocation =>
{
return context.SemanticModel.GetSymbolInfo(invocation.Expression).Symbol is IMethodSymbol invocationSymbol &&
invocationSymbol.Name == "Complete" && Equals(invocationSymbol.ContainingType, contextParameter.Type);
invocationSymbol.Name == "Complete" && SymbolEqualityComparer.Default.Equals(invocationSymbol.ContainingType, contextParameter.Type);
});

if (wasCompleteMethodCalled)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private static async Task AddCodeFixAsync(CodeFixContext context, SyntaxNode roo
.Where(invocation =>
{
return model.GetSymbolInfo(invocation.Expression).Symbol is IMethodSymbol invocationSymbol &&
invocationSymbol.Name == "Complete" && Equals(invocationSymbol.ContainingType, contextParameter.Type);
invocationSymbol.Name == "Complete" && SymbolEqualityComparer.Default.Equals(invocationSymbol.ContainingType, contextParameter.Type);
})
.Select(invocation => invocation.FindParent<ExpressionStatementSyntax>());

Expand Down

0 comments on commit f6b9a46

Please sign in to comment.