43 references to EnumerationCount
Microsoft.CodeAnalysis.NetAnalyzers (43)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.cs (3)
266if (enumerationCount == EnumerationCount.None) 271if (enumerationCount > EnumerationCount.Zero) 332if (trackedInvocationSet.EnumerationCount == EnumerationCount.TwoOrMoreTime || trackedInvocationSet.Operations.Count > 1)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (8)
53var enumerationCount = GetEnumerationCount(parameterOrLocalReferenceOperation, _wellKnownSymbolsInfo); 54if (enumerationCount is EnumerationCount.Zero or EnumerationCount.None) 108private EnumerationCount GetEnumerationCount(IOperation parameterOrLocalReferenceOperation, WellKnownSymbolsInfo wellKnownSymbolsInfo) 117return InvocationSetHelpers.AddInvocationCount(linqChainEnumerationCount, EnumerationCount.One); 130EnumerationCount enumerationCount) 313EnumerationCount enumerationCount) 324EnumerationCount enumerationCount)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerationsHelpers.cs (6)
22public static (IOperation linqChainTailOperation, EnumerationCount linqChainEnumerationCount) SkipLinqChainAndConversionMethod( 27return VisitLinqChainAndCoversionMethod(operation, EnumerationCount.Zero, wellKnownSymbolsInfo); 29static (IOperation linqChainTailOperation, EnumerationCount enumerationCount) VisitLinqChainAndCoversionMethod( 31EnumerationCount enumerationCount, 53? InvocationSetHelpers.AddInvocationCount(enumerationCount, EnumerationCount.One) 66? InvocationSetHelpers.AddInvocationCount(enumerationCount, EnumerationCount.One)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\InvocationSetHelpers.cs (23)
15var totalCount = AddInvocationCount(set1.EnumerationCount, set2.EnumerationCount); 45var totalCount = Min(set1.EnumerationCount, set2.EnumerationCount); 59private static EnumerationCount Min(EnumerationCount count1, EnumerationCount count2) 63return (EnumerationCount)min; 66public static EnumerationCount AddInvocationCount(EnumerationCount count1, EnumerationCount count2) 69(EnumerationCount.None, _) => EnumerationCount.None, 70(_, EnumerationCount.None) => EnumerationCount.None, 71(EnumerationCount.Zero, _) => count2, 72(_, EnumerationCount.Zero) => count1, 73(EnumerationCount.One, EnumerationCount.One) => EnumerationCount.TwoOrMoreTime, 74(EnumerationCount.TwoOrMoreTime, _) => EnumerationCount.TwoOrMoreTime, 75(_, EnumerationCount.TwoOrMoreTime) => EnumerationCount.TwoOrMoreTime, 76(_, _) => EnumerationCount.None,
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\TrackingEnumerationSet.cs (3)
34public EnumerationCount EnumerationCount { get; } 36public static readonly TrackingEnumerationSet Empty = new(ImmutableHashSet<IOperation>.Empty, EnumerationCount.Zero); 38public TrackingEnumerationSet(ImmutableHashSet<IOperation> operations, EnumerationCount enumerationCount)