1 instantiation of PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
291 references to PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (291)
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (2)
306set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 317(set as PooledHashSet<TValue>)?.Free();
src\Dependencies\Collections\Extensions\IListExtensions.cs (2)
44var set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 57(set as PooledHashSet<TValue>)?.Free();
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (4)
840var set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 852(set as PooledHashSet<TValue>)?.Free(); 1016var set = PooledHashSet<TElement>.GetInstance();
src\Dependencies\PooledObjects\ArrayBuilder.cs (4)
691var set = PooledHashSet<T>.GetInstance(); 734var set = PooledHashSet<S>.GetInstance();
src\Dependencies\PooledObjects\PooledHashSet.cs (11)
19private readonly ObjectPool<PooledHashSet<T>> _pool; 21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 34private static readonly ObjectPool<PooledHashSet<T>> s_poolInstance = CreatePool(EqualityComparer<T>.Default); 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer) 39ObjectPool<PooledHashSet<T>>? pool = null; 40pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128); 44public static PooledHashSet<T> GetInstance() 46var instance = s_poolInstance.Allocate(); 52public static PooledDisposer<PooledHashSet<T>> GetInstance(out PooledHashSet<T> instance) 55return new PooledDisposer<PooledHashSet<T>>(instance);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
202using var _1 = PooledHashSet<SyntaxNode>.GetInstance(out var applicableAttributeNodes);
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (4)
14using var _1 = PooledHashSet<T>.GetInstance(out var builder); 54using var _ = PooledHashSet<T>.GetInstance(out var builder);
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
331public static PooledDisposer<PooledHashSet<ISymbol>> GetCaptures( 332this IOperation operation, IMethodSymbol lambdaOrLocalFunction, out PooledHashSet<ISymbol> builder) 339var builderDisposer = PooledHashSet<ISymbol>.GetInstance(out builder); 340using var _ = PooledHashSet<IMethodSymbol>.GetInstance(out var nestedLambdasAndLocalFunctions); 372void ProcessLocalOrParameter(ISymbol symbol, PooledHashSet<ISymbol> builder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (1)
13public static void AddRange<T>(this PooledHashSet<T> builder, IEnumerable<T> set2)
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (4)
183using var _1 = PooledHashSet<int>.GetInstance(out var processedOrdinals); 214static bool DominatesBlock(BasicBlock sourceBlock, BasicBlock basicBlock, PooledHashSet<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals) 218static bool DominatesBranch(ControlFlowBranch? branch, BasicBlock basicBlock, PooledHashSet<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (8)
389using var _1 = PooledHashSet<AnalysisEntity>.GetInstance(out var processedEntities); 479using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var entitiesToFilterBuilder); 524using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var processedEntities); 556using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var processedEntities);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (2)
76var builder = PooledHashSet<INamedTypeSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysis.GlobalFlowStateAnalysisValueSetDomain.cs (2)
153using var _1 = PooledHashSet<GlobalFlowStateAnalysisValueSet>.GetInstance(out var candidateNodes);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysisValueSet.cs (2)
73using var _ = PooledHashSet<GlobalFlowStateAnalysisValueSet>.GetInstance(out var parentsBuilder);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\TrackedEntitiesBuilder.cs (4)
22private PooledHashSet<AnalysisEntity> AllEntities { get; } 29private PooledHashSet<PointsToAbstractValue> PointsToValues { get; } 36AllEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 37PointsToValues = PooledHashSet<PointsToAbstractValue>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (5)
379out PooledHashSet<IAssignmentOperation> assignments)) 520PooledHashSet<string>? hazardousUsageTypeNames = null; 560private bool GetNamesOfHazardousUsageTypes(INamedTypeSymbol containingType, [NotNullWhen(returnValue: true)] out PooledHashSet<string>? hazardousUsageTypeNames) 567hazardousUsageTypeNames = PooledHashSet<string>.GetInstance(); 577hazardousUsageTypeNames ??= PooledHashSet<string>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.TrackedAssignmentData.cs (7)
21public PooledHashSet<IAssignmentOperation>? AssignmentsWithUnknownLocation 27public PooledDictionary<AbstractLocation, PooledHashSet<IAssignmentOperation>>? AbstractLocationsToAssignments 40foreach (PooledHashSet<IAssignmentOperation> hashSet in this.AbstractLocationsToAssignments.Values) 52this.AssignmentsWithUnknownLocation ??= PooledHashSet<IAssignmentOperation>.GetInstance(); 62PooledDictionary<AbstractLocation, PooledHashSet<IAssignmentOperation>>.GetInstance(); 66out PooledHashSet<IAssignmentOperation> assignments)) 68assignments = PooledHashSet<IAssignmentOperation>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\AnySanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\DllSinks.cs (2)
19var sinkInfosBuilder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\FilePathInjectionSinks.cs (2)
19PooledHashSet<SinkInfo> builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedBytesSources.cs (2)
24var builder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSources.cs (2)
22var builder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedEncryptionKeySinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedSymmetricAlgorithmKeysSources.cs (2)
24var builder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\InformationDisclosureSources.cs (2)
22var builder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PooledHashSetExtensions.cs (9)
17this PooledHashSet<SinkInfo> builder, 36this PooledHashSet<SinkInfo> builder, 60this PooledHashSet<SourceInfo> builder, 85this PooledHashSet<SourceInfo> builder, 113this PooledHashSet<SourceInfo> builder, 158this PooledHashSet<SourceInfo> builder, 217this PooledHashSet<SourceInfo> builder, 267this PooledHashSet<SanitizerInfo> builder, 292this PooledHashSet<SanitizerInfo> builder,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PrimitiveTypeConverterSanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ProcessCommandSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RedirectSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RegexSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SqlSinks.cs (2)
19var sinkInfosBuilder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\StringTransferSources.cs (2)
23var sourceInfosBuilder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAbstractValue.cs (2)
92var sourceOriginsBuilder = PooledHashSet<SymbolAccess>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (8)
284PooledHashSet<string>? taintedTargets = null; 285PooledHashSet<(string, string)>? taintedParameterPairs = null; 286PooledHashSet<(string, string)>? sanitizedParameterPairs = null; 287PooledHashSet<string>? taintedParameterNamesCached = null; 304taintedParameterNamesCached = PooledHashSet<string>.GetInstance(); 633[NotNullWhen(returnValue: true)] out PooledHashSet<(string, string)>? taintedParameterPairs) 641taintedParameterPairs = PooledHashSet<(string, string)>.GetInstance(); 649taintedParameterPairs ??= PooledHashSet<(string, string)>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (6)
40[NotNullWhen(returnValue: true)] out PooledHashSet<string>? allTaintedTargets) 51allTaintedTargets ??= PooledHashSet<string>.GetInstance(); 73allTaintedTargets ??= PooledHashSet<string>.GetInstance(); 97allTaintedTargets ??= PooledHashSet<string>.GetInstance(); 187[NotNullWhen(returnValue: true)] out PooledHashSet<(string, string)>? taintedParameterPairs) 196taintedParameterPairs ??= PooledHashSet<(string, string)>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebInputSources.cs (2)
38var sourceInfosBuilder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebOutputSinks.cs (2)
20var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XamlSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XPathSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XssSanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSanitizers.cs (2)
19var builder = PooledHashSet<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSinks.cs (2)
19var builder = PooledHashSet<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSources.cs (2)
22var sourceInfosBuilder = PooledHashSet<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ValueContentAnalysis\ValueContentAbstractValue.cs (2)
266var builder = PooledHashSet<object?>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AddressSharedEntitiesProvider.cs (3)
62var builder = PooledHashSet<AnalysisEntity>.GetInstance(); 89static void AddIfHasKnownInstanceLocation(AnalysisEntity entity, PooledHashSet<AnalysisEntity> builder)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (25)
107using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var allEntities); 132private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, PooledHashSet<AnalysisEntity> allEntities) 135private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, TAnalysisData analysisData, PooledHashSet<AnalysisEntity> allEntities) 155private void StopTrackingDataForParamArrayParameterIndices(AnalysisEntity analysisEntity, TAnalysisData analysisData, PooledHashSet<AnalysisEntity> allEntities) 176using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var allEntities); 194using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var entitiesBuilder); 455var trackedEntitiesBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 490using var _1 = PooledHashSet<AnalysisEntity>.GetInstance(out var candidateEntitiesBuilder); 491using var _2 = PooledHashSet<AnalysisEntity>.GetInstance(out var interproceduralEntitiesToRetainBuilder); 492using var _3 = PooledHashSet<AnalysisEntity>.GetInstance(out var worklistEntities); 493using var _4 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var worklistPointsToValues); 494using var _5 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var processedPointsToValues); 495using var _6 = PooledHashSet<AnalysisEntity>.GetInstance(out var childWorklistEntities); 706using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var allAnalysisEntities);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityMapAbstractDomain.cs (2)
83using var _1 = PooledHashSet<AnalysisEntity>.GetInstance(out var newKeys);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (7)
65using var _1 = PooledHashSet<BasicBlock>.GetInstance(out var uniqueSuccessors); 69using var _3 = PooledHashSet<int>.GetInstance(out var unreachableBlocks); 189PooledHashSet<BasicBlock> uniqueSuccessors, 197using var _ = PooledHashSet<int>.GetInstance(out var unreachableBlocks);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
2606using var _ = cfg.OriginalOperation.GetCaptures(invokedMethod, out var capturedVariables); 3287using var _1 = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(out var methodTargetsOptBuilder); 3288using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 3312PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3313PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3318PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3319PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3325PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3326PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3442using var _1 = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(out var methodTargetsOptBuilder); 3443using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 4200var builder = PooledHashSet<INamedTypeSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (2)
31var lvalueFlowCaptureIdBuilder = PooledHashSet<CaptureId>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\PredicatedAnalysisData.cs (2)
66using var _ = PooledHashSet<DictionaryAnalysisData<TKey, TValue>>.GetInstance(out var builder);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (4)
183using var _ = PooledHashSet<SyntaxNode>.GetInstance(out var set); 215using var _2 = PooledHashSet<SyntaxNode>.GetInstance(out var commonAncestorsSet);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (5)
34var dispatchedExceptionsFromRegions = PooledHashSet<ControlFlowRegion>.GetInstance(); 75PooledHashSet<ControlFlowRegion> dispatchedExceptionsFromRegions, 84var processedBlocks = PooledHashSet<BasicBlock>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (2)
50var rvalueFlowCaptureIds = PooledHashSet<CaptureId>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
35private readonly PooledHashSet<ISymbol> _referenceTakenSymbolsBuilder; 40_referenceTakenSymbolsBuilder = PooledHashSet<ISymbol>.GetInstance(); 66protected abstract PooledHashSet<ISymbol> SymbolsReadBuilder { get; } 72protected abstract PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.BasicBlockAnalysisData.cs (10)
28private readonly Dictionary<ISymbol, PooledHashSet<IOperation>> _reachingWrites; 43foreach (var value in _reachingWrites.Values) 64if (_reachingWrites.TryGetValue(symbol, out var value)) 88if (_reachingWrites.TryGetValue(symbol, out var values)) 106if (!_reachingWrites.TryGetValue(symbol, out var values)) 108values = PooledHashSet<IOperation>.GetInstance(); 139var writes2 = other._reachingWrites[symbol]; 223private static void AddEntries(Dictionary<ISymbol, PooledHashSet<IOperation>> result, BasicBlockAnalysisData source) 229if (!result.TryGetValue(symbol, out var values)) 231values = PooledHashSet<IOperation>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (35)
41private readonly PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>> _lValueFlowCapturesMap; 48private readonly PooledDictionary<IOperation, PooledHashSet<IOperation>> _reachingDelegateCreationTargets; 69private readonly PooledDictionary<(int firstBlockOrdinal, int lastBlockOrdinal), PooledHashSet<(ISymbol, IOperation)>> _symbolWritesInsideBlockRangeMap; 78PooledHashSet<ISymbol> symbolsRead, 79PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 81PooledDictionary<IOperation, PooledHashSet<IOperation>> reachingDelegateCreationTargets, 99_lValueFlowCapturesMap = PooledDictionary<CaptureId, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 103_symbolWritesInsideBlockRangeMap = PooledDictionary<(int firstBlockOrdinal, int lastBlockOrdinal), PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 108protected override PooledHashSet<ISymbol> SymbolsReadBuilder { get; } 112protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 131symbolsRead: PooledHashSet<ISymbol>.GetInstance(), 132lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(), 134reachingDelegateCreationTargets: PooledDictionary<IOperation, PooledHashSet<IOperation>>.GetInstance(), 188using var _ = PooledHashSet<ILocalSymbol>.GetInstance(out var builder); 215private PooledHashSet<(ISymbol, IOperation)> GetOrCreateSymbolWritesInBlockRange(int firstBlockOrdinal, int lastBlockOrdinal, CancellationToken cancellationToken) 217if (!_symbolWritesInsideBlockRangeMap.TryGetValue((firstBlockOrdinal, lastBlockOrdinal), out var writesInBlockRange)) 220var operations = PooledHashSet<IOperation>.GetInstance(); 224writesInBlockRange = PooledHashSet<(ISymbol, IOperation)>.GetInstance(); 241PooledHashSet<IOperation> operationsBuilder, 254_reachingDelegateCreationTargets.TryGetValue(invocation.Instance, out var targets)) 273void AddDescendantOperationsFromDelegateCreationTargets(PooledHashSet<IOperation> targets) 464if (!_lValueFlowCapturesMap.TryGetValue(captureId, out var captures)) 466captures = PooledHashSet<(ISymbol, IOperation)>.GetInstance(); 475if (_lValueFlowCapturesMap.TryGetValue(captureId, out var captures)) 522var targetsBuilder = PooledHashSet<IOperation>.GetInstance(); 533if (!arg.self._reachingDelegateCreationTargets.TryGetValue(symbolWrite, out var targetsBuilderForSymbolWrite)) 588var targetsBuilder = PooledHashSet<IOperation>.GetInstance(); 600if (_reachingDelegateCreationTargets.TryGetValue(write, out var targetsBuilder)) 629foreach (var creations in _reachingDelegateCreationTargets.Values) 650foreach (var captures in _lValueFlowCapturesMap.Values) 657foreach (var operations in _symbolWritesInsideBlockRangeMap.Values)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (6)
22PooledHashSet<ISymbol> symbolsRead, 23PooledHashSet<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed, 32protected override PooledHashSet<ISymbol> SymbolsReadBuilder { get; } 36protected override PooledHashSet<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; } 44symbolsRead: PooledHashSet<ISymbol>.GetInstance(), 45lambdaOrLocalFunctionsBeingAnalyzed: PooledHashSet<IMethodSymbol>.GetInstance(),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (8)
29private PooledDictionary<IAssignmentOperation, PooledHashSet<(ISymbol, IOperation)>> _pendingWritesMap; 58_pendingWritesMap = PooledDictionary<IAssignmentOperation, PooledHashSet<(ISymbol, IOperation)>>.GetInstance(); 80foreach (var pendingWrites in _pendingWritesMap.Values) 166var set = PooledHashSet<(ISymbol, IOperation)>.GetInstance(); 173if (!_pendingWritesMap.TryGetValue(deconstructionAssignment, out var set)) 175set = PooledHashSet<(ISymbol, IOperation)>.GetInstance(); 188if (_pendingWritesMap.TryGetValue(operation, out var pendingWrites))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\PublicContract.cs (4)
94using var _ = PooledHashSet<T>.GetInstance(out var set); 124using var _ = PooledHashSet<T>.GetInstance(out var set);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
453using var _ = PooledHashSet<string>.GetInstance(out var seenNames);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (2)
18private readonly PooledHashSet<ISymbol> _visited = PooledHashSet<ISymbol>.GetInstance();