1 instantiation of PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledHashSet.cs (1)
70pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool, comparer), 128);
205 references to PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (205)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
204using var applicableAttributeNodes = PooledHashSet<SyntaxNode>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (4)
14using var builder = PooledHashSet<T>.GetInstance(); 54using var builder = PooledHashSet<T>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
503public static PooledHashSet<ISymbol> GetCaptures(this IOperation operation, IMethodSymbol lambdaOrLocalFunction) 510var builder = PooledHashSet<ISymbol>.GetInstance(); 511using var nestedLambdasAndLocalFunctions = PooledHashSet<IMethodSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (1)
11public static void AddRange<T>(this PooledHashSet<T> builder, IEnumerable<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\ArrayBuilder.cs (4)
501using var set = PooledHashSet<T>.GetInstance(); 519using var set = PooledHashSet<S>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledHashSet.cs (11)
19private readonly ObjectPool<PooledHashSet<T>>? _pool; 21private PooledHashSet(ObjectPool<PooledHashSet<T>>? pool, IEqualityComparer<T>? comparer) 63private static readonly ObjectPool<PooledHashSet<T>> s_poolInstance = CreatePool(); 64private static readonly ConcurrentDictionary<IEqualityComparer<T>, ObjectPool<PooledHashSet<T>>> s_poolInstancesByComparer = new(); 67public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T>? comparer = null) 69ObjectPool<PooledHashSet<T>>? pool = null; 70pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool, comparer), 128); 74public static PooledHashSet<T> GetInstance(IEqualityComparer<T>? comparer = null) 79var instance = pool.Allocate(); 84public static PooledHashSet<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null) 86var instance = GetInstance(comparer);
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\TemporarySet`1.cs (5)
26private PooledHashSet<T>? _storage; 36private PooledHashSet<T> GetOrCreateStorage(CancellationToken cancellationToken) 40var newStorage = PooledHashSet<T>.GetInstance(); 54var storage = GetOrCreateStorage(cancellationToken);
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (4)
202using var processedOrdinals = PooledHashSet<int>.GetInstance(); 233static bool DominatesBlock(BasicBlock sourceBlock, BasicBlock basicBlock, PooledHashSet<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals) 237static bool DominatesBranch(ControlFlowBranch? branch, BasicBlock basicBlock, PooledHashSet<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (8)
390using var processedEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 480using var entitiesToFilterBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 525using var processedEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 557using var processedEntities = PooledHashSet<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (2)
75var builder = PooledHashSet<INamedTypeSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysis.GlobalFlowStateAnalysisValueSetDomain.cs (2)
153using var candidateNodes = PooledHashSet<GlobalFlowStateAnalysisValueSet>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysisValueSet.cs (2)
72using var parentsBuilder = PooledHashSet<GlobalFlowStateAnalysisValueSet>.GetInstance();
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)
377out PooledHashSet<IAssignmentOperation> assignments)) 518PooledHashSet<string>? hazardousUsageTypeNames = null; 558private bool GetNamesOfHazardousUsageTypes(INamedTypeSymbol containingType, [NotNullWhen(returnValue: true)] out PooledHashSet<string>? hazardousUsageTypeNames) 565hazardousUsageTypeNames = PooledHashSet<string>.GetInstance(); 575hazardousUsageTypeNames ??= 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)
283PooledHashSet<string>? taintedTargets = null; 284PooledHashSet<(string, string)>? taintedParameterPairs = null; 285PooledHashSet<(string, string)>? sanitizedParameterPairs = null; 286PooledHashSet<string>? taintedParameterNamesCached = null; 303taintedParameterNamesCached = PooledHashSet<string>.GetInstance(); 632[NotNullWhen(returnValue: true)] out PooledHashSet<(string, string)>? taintedParameterPairs) 640taintedParameterPairs = PooledHashSet<(string, string)>.GetInstance(); 648taintedParameterPairs ??= 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)
37var 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)
61var builder = PooledHashSet<AnalysisEntity>.GetInstance(); 88static void AddIfHasKnownInstanceLocation(AnalysisEntity entity, PooledHashSet<AnalysisEntity> builder)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (25)
107using var allEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 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 allEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 194using var entitiesBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 455var trackedEntitiesBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 490using var candidateEntitiesBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 491using var interproceduralEntitiesToRetainBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 492using var worklistEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 493using var worklistPointsToValues = PooledHashSet<PointsToAbstractValue>.GetInstance(); 494using var processedPointsToValues = PooledHashSet<PointsToAbstractValue>.GetInstance(); 495using var childWorklistEntities = PooledHashSet<AnalysisEntity>.GetInstance(); 706using var allAnalysisEntities = PooledHashSet<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityMapAbstractDomain.cs (2)
83using var newKeys = PooledHashSet<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (7)
63using var uniqueSuccessors = PooledHashSet<BasicBlock>.GetInstance(); 67using var unreachableBlocks = PooledHashSet<int>.GetInstance(); 187PooledHashSet<BasicBlock> uniqueSuccessors, 195using var unreachableBlocks = PooledHashSet<int>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
2604using var capturedVariables = cfg.OriginalOperation.GetCaptures(invokedMethod); 3285using var methodTargetsOptBuilder = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(); 3286using var lambdaTargets = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(); 3310PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3311PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3316PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3317PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3323PooledHashSet<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder, 3324PooledHashSet<IFlowAnonymousFunctionOperation> lambdaTargets) 3440using var methodTargetsOptBuilder = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(); 3441using var lambdaTargets = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(); 4198var 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)
65using var builder = PooledHashSet<DictionaryAnalysisData<TKey, TValue>>.GetInstance();