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