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);
201 references to PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (201)
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)
205using 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)
506public static PooledDisposer<PooledHashSet<ISymbol>> GetCaptures( 507this IOperation operation, IMethodSymbol lambdaOrLocalFunction, out PooledHashSet<ISymbol> builder) 514var builderDisposer = PooledHashSet<ISymbol>.GetInstance(out builder); 515using var _ = PooledHashSet<IMethodSymbol>.GetInstance(out var nestedLambdasAndLocalFunctions); 547void 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)
202using var _1 = PooledHashSet<int>.GetInstance(out var processedOrdinals); 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)
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)
75var 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)
72using 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)
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)
106using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var allEntities); 131private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, PooledHashSet<AnalysisEntity> allEntities) 134private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, TAnalysisData analysisData, PooledHashSet<AnalysisEntity> allEntities) 154private void StopTrackingDataForParamArrayParameterIndices(AnalysisEntity analysisEntity, TAnalysisData analysisData, PooledHashSet<AnalysisEntity> allEntities) 175using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var allEntities); 193using var _ = PooledHashSet<AnalysisEntity>.GetInstance(out var entitiesBuilder); 454var trackedEntitiesBuilder = PooledHashSet<AnalysisEntity>.GetInstance(); 489using var _1 = PooledHashSet<AnalysisEntity>.GetInstance(out var candidateEntitiesBuilder); 490using var _2 = PooledHashSet<AnalysisEntity>.GetInstance(out var interproceduralEntitiesToRetainBuilder); 491using var _3 = PooledHashSet<AnalysisEntity>.GetInstance(out var worklistEntities); 492using var _4 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var worklistPointsToValues); 493using var _5 = PooledHashSet<PointsToAbstractValue>.GetInstance(out var processedPointsToValues); 494using var _6 = PooledHashSet<AnalysisEntity>.GetInstance(out var childWorklistEntities); 705using 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)
64using var _1 = PooledHashSet<BasicBlock>.GetInstance(out var uniqueSuccessors); 68using var _3 = PooledHashSet<int>.GetInstance(out var unreachableBlocks); 188PooledHashSet<BasicBlock> uniqueSuccessors, 196using var _ = PooledHashSet<int>.GetInstance(out var unreachableBlocks);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
2604using var _ = cfg.OriginalOperation.GetCaptures(invokedMethod, out var capturedVariables); 3285using var _1 = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(out var methodTargetsOptBuilder); 3286using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 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 _1 = PooledHashSet<(IMethodSymbol method, IOperation? instance)>.GetInstance(out var methodTargetsOptBuilder); 3441using var _2 = PooledHashSet<IFlowAnonymousFunctionOperation>.GetInstance(out var lambdaTargets); 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 _ = PooledHashSet<DictionaryAnalysisData<TKey, TValue>>.GetInstance(out var builder);