4 instantiations of TrackingEnumerationSet
Microsoft.CodeAnalysis.NetAnalyzers (4)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (1)
328var newInvocationSet = new TrackingEnumerationSet(
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\InvocationSetHelpers.cs (2)
26return new TrackingEnumerationSet(builder.ToImmutable(), totalCount); 56return new TrackingEnumerationSet(builder.ToImmutable(), totalCount);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\TrackingEnumerationSet.cs (1)
36public static readonly TrackingEnumerationSet Empty = new(ImmutableHashSet<IOperation>.Empty, EnumerationCount.Zero);
30 references to TrackingEnumerationSet
Microsoft.CodeAnalysis.NetAnalyzers (30)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\AvoidMultipleEnumerations.DataFlowOperationVisitor.cs (2)
328var newInvocationSet = new TrackingEnumerationSet( 332var trackedEntitiesBuilder = PooledDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.GetInstance();
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\GlobalFlowStateDictionaryAnalysisValue.cs (17)
14public ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet> TrackedEntities { get; } 18public static readonly GlobalFlowStateDictionaryAnalysisValue Empty = new(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Empty); 20public static readonly GlobalFlowStateDictionaryAnalysisValue Unknown = new(ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.Empty, GlobalFlowStateDictionaryAnalysisValueKind.Unknown); 23ImmutableDictionary<IDeferredTypeEntity, TrackingEnumerationSet> trackedEntities, 32/// perform <see cref="InvocationSetHelpers.Intersect(TrackingEnumerationSet, TrackingEnumerationSet)"/> operation between the values 33/// of the common keys, otherwise, perform <see cref="InvocationSetHelpers.Merge(TrackingEnumerationSet, TrackingEnumerationSet)"/> 48using var builder = PooledDictionary<IDeferredTypeEntity, TrackingEnumerationSet>.GetInstance(); 57var trackedEntities1 = kvp.Value; 58if (value2.TrackedEntities.TryGetValue(key, out var trackedEntities2)) 78var builder = ImmutableDictionary.CreateBuilder<IDeferredTypeEntity, TrackingEnumerationSet>(); 84var invocationSet = kvp.Value; 85if (value2.TrackedEntities.TryGetValue(key, out var trackedEntities2)) 102builder[key] = InvocationSetHelpers.Intersect(invocationSet, TrackingEnumerationSet.Empty); 109var invocationSet = kvp.Value; 113builder[key] = InvocationSetHelpers.Intersect(invocationSet, TrackingEnumerationSet.Empty);
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\InvocationSetHelpers.cs (6)
12public static TrackingEnumerationSet Merge(TrackingEnumerationSet set1, TrackingEnumerationSet set2) 29public static TrackingEnumerationSet Intersect(TrackingEnumerationSet set1, TrackingEnumerationSet set2)
Microsoft.CodeQuality.Analyzers\QualityGuidelines\AvoidMultipleEnumerations\FlowAnalysis\TrackingEnumerationSet.cs (5)
11internal class TrackingEnumerationSet : CacheBasedEquatable<TrackingEnumerationSet> 36public static readonly TrackingEnumerationSet Empty = new(ImmutableHashSet<IOperation>.Empty, EnumerationCount.Zero); 50protected override bool ComputeEqualsByHashCodeParts(CacheBasedEquatable<TrackingEnumerationSet> obj) 52var other = (TrackingEnumerationSet)obj;