From 154a51aa1a7cd707b0bca25b2d72c83d94afd53b Mon Sep 17 00:00:00 2001 From: tpodolak Date: Fri, 9 Sep 2022 03:02:51 +0200 Subject: [PATCH] GH-153 - ConflictingArgumentAssignmentsAnalyzer fixes --- .../AbstractConflictingArgumentAssignmentsAnalyzer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NSubstitute.Analyzers.Shared/DiagnosticAnalyzers/AbstractConflictingArgumentAssignmentsAnalyzer.cs b/src/NSubstitute.Analyzers.Shared/DiagnosticAnalyzers/AbstractConflictingArgumentAssignmentsAnalyzer.cs index c0aa00a9..9a9bb586 100644 --- a/src/NSubstitute.Analyzers.Shared/DiagnosticAnalyzers/AbstractConflictingArgumentAssignmentsAnalyzer.cs +++ b/src/NSubstitute.Analyzers.Shared/DiagnosticAnalyzers/AbstractConflictingArgumentAssignmentsAnalyzer.cs @@ -57,14 +57,14 @@ private void AnalyzeInvocation(OperationAnalysisContext syntaxNodeContext) var previousCallIndexers = FindCallInfoIndexers(substituteOperation); - var immutableHashSet = previousCallIndexers + var previousCallIndexerPositions = previousCallIndexers .Select(indexerPropertyReferenceOperation => indexerPropertyReferenceOperation.GetIndexerPosition()) .ToImmutableHashSet(); foreach (var indexerExpressionSyntax in andDoesIndexers) { var position = indexerExpressionSyntax.GetIndexerPosition(); - if (position.HasValue && immutableHashSet.Contains(position.Value)) + if (position.HasValue && previousCallIndexerPositions.Contains(position.Value)) { syntaxNodeContext.ReportDiagnostic(Diagnostic.Create( DiagnosticDescriptorsProvider.ConflictingArgumentAssignments, @@ -81,7 +81,7 @@ private IEnumerable FindCallInfoIndexers(IInvocationOperation invoca foreach (var propertyReference in _callInfoFinder .GetCallInfoContext(argumentOperation).IndexerAccessesOperations) { - if (propertyReference.Parent is ISimpleAssignmentOperation) + if (propertyReference is IPropertyReferenceOperation && propertyReference.Parent is ISimpleAssignmentOperation) { yield return propertyReference; }