1 instantiation of PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40
pool = new ObjectPool<PooledHashSet<T>>(() => new
PooledHashSet
<T>(pool!, equalityComparer), 128);
201 references to PooledHashSet
Microsoft.CodeAnalysis.AnalyzerUtilities (201)
src\Dependencies\PooledObjects\ArrayBuilder.cs (4)
691
var
set =
PooledHashSet
<T>.GetInstance();
734
var
set =
PooledHashSet
<S>.GetInstance();
src\Dependencies\PooledObjects\PooledHashSet.cs (11)
19
private readonly ObjectPool<
PooledHashSet
<T>> _pool;
21
private PooledHashSet(ObjectPool<
PooledHashSet
<T>> pool, IEqualityComparer<T> equalityComparer) :
34
private static readonly ObjectPool<
PooledHashSet
<T>> s_poolInstance = CreatePool(EqualityComparer<T>.Default);
37
public static ObjectPool<
PooledHashSet
<T>> CreatePool(IEqualityComparer<T> equalityComparer)
39
ObjectPool<
PooledHashSet
<T>>? pool = null;
40
pool = new ObjectPool<
PooledHashSet
<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
44
public static
PooledHashSet
<T> GetInstance()
46
var
instance = s_poolInstance.Allocate();
52
public static PooledDisposer<
PooledHashSet
<T>> GetInstance(out
PooledHashSet
<T> instance)
55
return new PooledDisposer<
PooledHashSet
<T>>(instance);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (2)
205
using var _1 =
PooledHashSet
<SyntaxNode>.GetInstance(out
var
applicableAttributeNodes);
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (4)
14
using var _1 =
PooledHashSet
<T>.GetInstance(out
var
builder);
54
using var _ =
PooledHashSet
<T>.GetInstance(out
var
builder);
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IOperationExtensions.cs (6)
506
public static PooledDisposer<
PooledHashSet
<ISymbol>> GetCaptures(
507
this IOperation operation, IMethodSymbol lambdaOrLocalFunction, out
PooledHashSet
<ISymbol> builder)
514
var builderDisposer =
PooledHashSet
<ISymbol>.GetInstance(out builder);
515
using var _ =
PooledHashSet
<IMethodSymbol>.GetInstance(out
var
nestedLambdasAndLocalFunctions);
547
void ProcessLocalOrParameter(ISymbol symbol,
PooledHashSet
<ISymbol> builder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (1)
13
public static void AddRange<T>(this
PooledHashSet
<T> builder, IEnumerable<T> set2)
src\RoslynAnalyzers\Utilities\FlowAnalysis\Extensions\BasicBlockExtensions.cs (4)
202
using var _1 =
PooledHashSet
<int>.GetInstance(out
var
processedOrdinals);
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)
389
using var _1 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
processedEntities);
479
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
entitiesToFilterBuilder);
524
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
processedEntities);
556
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
processedEntities);
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 _1 =
PooledHashSet
<GlobalFlowStateAnalysisValueSet>.GetInstance(out
var
candidateNodes);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysisValueSet.cs (2)
72
using var _ =
PooledHashSet
<GlobalFlowStateAnalysisValueSet>.GetInstance(out
var
parentsBuilder);
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)
106
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
allEntities);
131
private void StopTrackingDataForEntity(AnalysisEntity analysisEntity,
PooledHashSet
<AnalysisEntity> allEntities)
134
private void StopTrackingDataForEntity(AnalysisEntity analysisEntity, TAnalysisData analysisData,
PooledHashSet
<AnalysisEntity> allEntities)
154
private void StopTrackingDataForParamArrayParameterIndices(AnalysisEntity analysisEntity, TAnalysisData analysisData,
PooledHashSet
<AnalysisEntity> allEntities)
175
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
allEntities);
193
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
entitiesBuilder);
454
var
trackedEntitiesBuilder =
PooledHashSet
<AnalysisEntity>.GetInstance();
489
using var _1 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
candidateEntitiesBuilder);
490
using var _2 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
interproceduralEntitiesToRetainBuilder);
491
using var _3 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
worklistEntities);
492
using var _4 =
PooledHashSet
<PointsToAbstractValue>.GetInstance(out
var
worklistPointsToValues);
493
using var _5 =
PooledHashSet
<PointsToAbstractValue>.GetInstance(out
var
processedPointsToValues);
494
using var _6 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
childWorklistEntities);
705
using var _ =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
allAnalysisEntities);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityMapAbstractDomain.cs (2)
83
using var _1 =
PooledHashSet
<AnalysisEntity>.GetInstance(out
var
newKeys);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (7)
64
using var _1 =
PooledHashSet
<BasicBlock>.GetInstance(out
var
uniqueSuccessors);
68
using var _3 =
PooledHashSet
<int>.GetInstance(out
var
unreachableBlocks);
188
PooledHashSet
<BasicBlock> uniqueSuccessors,
196
using var _ =
PooledHashSet
<int>.GetInstance(out
var
unreachableBlocks);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (17)
2604
using var _ = cfg.OriginalOperation.GetCaptures(invokedMethod, out
var
capturedVariables);
3285
using var _1 =
PooledHashSet
<(IMethodSymbol method, IOperation? instance)>.GetInstance(out
var
methodTargetsOptBuilder);
3286
using var _2 =
PooledHashSet
<IFlowAnonymousFunctionOperation>.GetInstance(out
var
lambdaTargets);
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 _1 =
PooledHashSet
<(IMethodSymbol method, IOperation? instance)>.GetInstance(out
var
methodTargetsOptBuilder);
3441
using var _2 =
PooledHashSet
<IFlowAnonymousFunctionOperation>.GetInstance(out
var
lambdaTargets);
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 _ =
PooledHashSet
<DictionaryAnalysisData<TKey, TValue>>.GetInstance(out
var
builder);