diff --git a/Source/Csla.Analyzers/Csla.Analyzers/BusinessRuleDoesNotUseAddMethodsOnContextAnalyzer.cs b/Source/Csla.Analyzers/Csla.Analyzers/BusinessRuleDoesNotUseAddMethodsOnContextAnalyzer.cs index 1af14ebfaa..a9d049bc61 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/BusinessRuleDoesNotUseAddMethodsOnContextAnalyzer.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/BusinessRuleDoesNotUseAddMethodsOnContextAnalyzer.cs @@ -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) diff --git a/Source/Csla.Analyzers/Csla.Analyzers/EvaluateManagedBackingFieldsWalker.cs b/Source/Csla.Analyzers/Csla.Analyzers/EvaluateManagedBackingFieldsWalker.cs index 4386a9c15c..46ebcb4c5f 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/EvaluateManagedBackingFieldsWalker.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/EvaluateManagedBackingFieldsWalker.cs @@ -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); } } } diff --git a/Source/Csla.Analyzers/Csla.Analyzers/Extensions/ITypeSymbolExtensions.cs b/Source/Csla.Analyzers/Csla.Analyzers/Extensions/ITypeSymbolExtensions.cs index 09f79cce5e..e783e0964f 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/Extensions/ITypeSymbolExtensions.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/Extensions/ITypeSymbolExtensions.cs @@ -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 } } diff --git a/Source/Csla.Analyzers/Csla.Analyzers/FindOperationsWithIncorrectReturnTypesAnalyzer.cs b/Source/Csla.Analyzers/Csla.Analyzers/FindOperationsWithIncorrectReturnTypesAnalyzer.cs index f5ca668df8..ccadb6fcf8 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/FindOperationsWithIncorrectReturnTypesAnalyzer.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/FindOperationsWithIncorrectReturnTypesAnalyzer.cs @@ -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])); diff --git a/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleAnalyzer.cs b/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleAnalyzer.cs index cc22237114..a067e9e321 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleAnalyzer.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleAnalyzer.cs @@ -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) diff --git a/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleRemoveCallCodeFix.cs b/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleRemoveCallCodeFix.cs index a372bcb33b..614e706325 100644 --- a/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleRemoveCallCodeFix.cs +++ b/Source/Csla.Analyzers/Csla.Analyzers/IsCompleteCalledInAsynchronousBusinessRuleRemoveCallCodeFix.cs @@ -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());