1 instantiation of PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledHashSet.cs (1)
70
pool = 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)
204
using
var
applicableAttributeNodes =
PooledHashSet
<SyntaxNode>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (4)
14
using
var
builder =
PooledHashSet
<T>.GetInstance();
54
using
var
builder =
PooledHashSet
<T>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (5)
503
public static
PooledHashSet
<ISymbol> GetCaptures(this IOperation operation, IMethodSymbol lambdaOrLocalFunction)
510
var
builder =
PooledHashSet
<ISymbol>.GetInstance();
511
using
var
nestedLambdasAndLocalFunctions =
PooledHashSet
<IMethodSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (1)
11
public static void AddRange<T>(this
PooledHashSet
<T> builder, IEnumerable<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\ArrayBuilder.cs (4)
501
using
var
set =
PooledHashSet
<T>.GetInstance();
519
using
var
set =
PooledHashSet
<S>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledHashSet.cs (11)
19
private readonly ObjectPool<
PooledHashSet
<T>>? _pool;
21
private PooledHashSet(ObjectPool<
PooledHashSet
<T>>? pool, IEqualityComparer<T>? comparer)
63
private static readonly ObjectPool<
PooledHashSet
<T>> s_poolInstance = CreatePool();
64
private static readonly ConcurrentDictionary<IEqualityComparer<T>, ObjectPool<
PooledHashSet
<T>>> s_poolInstancesByComparer = new();
67
public static ObjectPool<
PooledHashSet
<T>> CreatePool(IEqualityComparer<T>? comparer = null)
69
ObjectPool<
PooledHashSet
<T>>? pool = null;
70
pool = new ObjectPool<
PooledHashSet
<T>>(() => new PooledHashSet<T>(pool, comparer), 128);
74
public static
PooledHashSet
<T> GetInstance(IEqualityComparer<T>? comparer = null)
79
var
instance = pool.Allocate();
84
public static
PooledHashSet
<T> GetInstance(IEnumerable<T> initializer, IEqualityComparer<T>? comparer = null)
86
var
instance = GetInstance(comparer);
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\TemporarySet`1.cs (5)
26
private
PooledHashSet
<T>? _storage;
36
private
PooledHashSet
<T> GetOrCreateStorage(CancellationToken cancellationToken)
40
var
newStorage =
PooledHashSet
<T>.GetInstance();
54
var
storage = GetOrCreateStorage(cancellationToken);
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (4)
202
using
var
processedOrdinals =
PooledHashSet
<int>.GetInstance();
233
static bool DominatesBlock(BasicBlock sourceBlock, BasicBlock basicBlock,
PooledHashSet
<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals)
237
static bool DominatesBranch(ControlFlowBranch? branch, BasicBlock basicBlock,
PooledHashSet
<int> processedOrdinals, ArrayBuilder<int> unprocessedOrdinals)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (8)
390
using
var
processedEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
480
using
var
entitiesToFilterBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
525
using
var
processedEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
557
using
var
processedEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (2)
75
var
builder =
PooledHashSet
<INamedTypeSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysis.GlobalFlowStateAnalysisValueSetDomain.cs (2)
153
using
var
candidateNodes =
PooledHashSet
<GlobalFlowStateAnalysisValueSet>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysisValueSet.cs (2)
72
using
var
parentsBuilder =
PooledHashSet
<GlobalFlowStateAnalysisValueSet>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\TrackedEntitiesBuilder.cs (4)
22
private
PooledHashSet
<AnalysisEntity> AllEntities { get; }
29
private
PooledHashSet
<PointsToAbstractValue> PointsToValues { get; }
36
AllEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
37
PointsToValues =
PooledHashSet
<PointsToAbstractValue>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (5)
377
out
PooledHashSet
<IAssignmentOperation> assignments))
518
PooledHashSet
<string>? hazardousUsageTypeNames = null;
558
private bool GetNamesOfHazardousUsageTypes(INamedTypeSymbol containingType, [NotNullWhen(returnValue: true)] out
PooledHashSet
<string>? hazardousUsageTypeNames)
565
hazardousUsageTypeNames =
PooledHashSet
<string>.GetInstance();
575
hazardousUsageTypeNames ??=
PooledHashSet
<string>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.TrackedAssignmentData.cs (7)
21
public
PooledHashSet
<IAssignmentOperation>? AssignmentsWithUnknownLocation
27
public PooledDictionary<AbstractLocation,
PooledHashSet
<IAssignmentOperation>>? AbstractLocationsToAssignments
40
foreach (
PooledHashSet
<IAssignmentOperation> hashSet in this.AbstractLocationsToAssignments.Values)
52
this.AssignmentsWithUnknownLocation ??=
PooledHashSet
<IAssignmentOperation>.GetInstance();
62
PooledDictionary<AbstractLocation,
PooledHashSet
<IAssignmentOperation>>.GetInstance();
66
out
PooledHashSet
<IAssignmentOperation> assignments))
68
assignments =
PooledHashSet
<IAssignmentOperation>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\AnySanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\DllSinks.cs (2)
19
var
sinkInfosBuilder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\FilePathInjectionSinks.cs (2)
19
PooledHashSet
<SinkInfo> builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedBytesSources.cs (2)
24
var
builder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSources.cs (2)
22
var
builder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedEncryptionKeySinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedSymmetricAlgorithmKeysSources.cs (2)
24
var
builder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\InformationDisclosureSources.cs (2)
22
var
builder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PooledHashSetExtensions.cs (9)
17
this
PooledHashSet
<SinkInfo> builder,
36
this
PooledHashSet
<SinkInfo> builder,
60
this
PooledHashSet
<SourceInfo> builder,
85
this
PooledHashSet
<SourceInfo> builder,
113
this
PooledHashSet
<SourceInfo> builder,
158
this
PooledHashSet
<SourceInfo> builder,
217
this
PooledHashSet
<SourceInfo> builder,
267
this
PooledHashSet
<SanitizerInfo> builder,
292
this
PooledHashSet
<SanitizerInfo> builder,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PrimitiveTypeConverterSanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ProcessCommandSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RedirectSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RegexSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SqlSinks.cs (2)
19
var
sinkInfosBuilder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\StringTransferSources.cs (2)
23
var
sourceInfosBuilder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAbstractValue.cs (2)
92
var
sourceOriginsBuilder =
PooledHashSet
<SymbolAccess>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (8)
283
PooledHashSet
<string>? taintedTargets = null;
284
PooledHashSet
<(string, string)>? taintedParameterPairs = null;
285
PooledHashSet
<(string, string)>? sanitizedParameterPairs = null;
286
PooledHashSet
<string>? taintedParameterNamesCached = null;
303
taintedParameterNamesCached =
PooledHashSet
<string>.GetInstance();
632
[NotNullWhen(returnValue: true)] out
PooledHashSet
<(string, string)>? taintedParameterPairs)
640
taintedParameterPairs =
PooledHashSet
<(string, string)>.GetInstance();
648
taintedParameterPairs ??=
PooledHashSet
<(string, string)>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (6)
40
[NotNullWhen(returnValue: true)] out
PooledHashSet
<string>? allTaintedTargets)
51
allTaintedTargets ??=
PooledHashSet
<string>.GetInstance();
73
allTaintedTargets ??=
PooledHashSet
<string>.GetInstance();
97
allTaintedTargets ??=
PooledHashSet
<string>.GetInstance();
187
[NotNullWhen(returnValue: true)] out
PooledHashSet
<(string, string)>? taintedParameterPairs)
196
taintedParameterPairs ??=
PooledHashSet
<(string, string)>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebInputSources.cs (2)
37
var
sourceInfosBuilder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebOutputSinks.cs (2)
20
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XamlSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XPathSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XssSanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSanitizers.cs (2)
19
var
builder =
PooledHashSet
<SanitizerInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSinks.cs (2)
19
var
builder =
PooledHashSet
<SinkInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSources.cs (2)
22
var
sourceInfosBuilder =
PooledHashSet
<SourceInfo>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ValueContentAnalysis\ValueContentAbstractValue.cs (2)
266
var
builder =
PooledHashSet
<object?>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AddressSharedEntitiesProvider.cs (3)
61
var
builder =
PooledHashSet
<AnalysisEntity>.GetInstance();
88
static void AddIfHasKnownInstanceLocation(AnalysisEntity entity,
PooledHashSet
<AnalysisEntity> builder)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (25)
107
using
var
allEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
132
private void StopTrackingDataForEntity(AnalysisEntity analysisEntity,
PooledHashSet
<AnalysisEntity> allEntities)
135
private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, TAnalysisData analysisData,
PooledHashSet
<AnalysisEntity> allEntities)
155
private void StopTrackingDataForParamArrayParameterIndices(AnalysisEntity analysisEntity, TAnalysisData analysisData,
PooledHashSet
<AnalysisEntity> allEntities)
176
using
var
allEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
194
using
var
entitiesBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
455
var
trackedEntitiesBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
490
using
var
candidateEntitiesBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
491
using
var
interproceduralEntitiesToRetainBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
492
using
var
worklistEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
493
using
var
worklistPointsToValues =
PooledHashSet
<PointsToAbstractValue>.GetInstance();
494
using
var
processedPointsToValues =
PooledHashSet
<PointsToAbstractValue>.GetInstance();
495
using
var
childWorklistEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
706
using
var
allAnalysisEntities =
PooledHashSet
<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityMapAbstractDomain.cs (2)
83
using
var
newKeys =
PooledHashSet
<AnalysisEntity>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (7)
63
using
var
uniqueSuccessors =
PooledHashSet
<BasicBlock>.GetInstance();
67
using
var
unreachableBlocks =
PooledHashSet
<int>.GetInstance();
187
PooledHashSet
<BasicBlock> uniqueSuccessors,
195
using
var
unreachableBlocks =
PooledHashSet
<int>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
2604
using
var
capturedVariables = cfg.OriginalOperation.GetCaptures(invokedMethod);
3285
using
var
methodTargetsOptBuilder =
PooledHashSet
<(IMethodSymbol method, IOperation? instance)>.GetInstance();
3286
using
var
lambdaTargets =
PooledHashSet
<IFlowAnonymousFunctionOperation>.GetInstance();
3310
PooledHashSet
<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder,
3311
PooledHashSet
<IFlowAnonymousFunctionOperation> lambdaTargets)
3316
PooledHashSet
<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder,
3317
PooledHashSet
<IFlowAnonymousFunctionOperation> lambdaTargets)
3323
PooledHashSet
<(IMethodSymbol method, IOperation? instance)> methodTargetsOptBuilder,
3324
PooledHashSet
<IFlowAnonymousFunctionOperation> lambdaTargets)
3440
using
var
methodTargetsOptBuilder =
PooledHashSet
<(IMethodSymbol method, IOperation? instance)>.GetInstance();
3441
using
var
lambdaTargets =
PooledHashSet
<IFlowAnonymousFunctionOperation>.GetInstance();
4198
var
builder =
PooledHashSet
<INamedTypeSymbol>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (2)
31
var
lvalueFlowCaptureIdBuilder =
PooledHashSet
<CaptureId>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\PredicatedAnalysisData.cs (2)
65
using
var
builder =
PooledHashSet
<DictionaryAnalysisData<TKey, TValue>>.GetInstance();