1 instantiation of PooledHashSet
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40
pool = new ObjectPool<PooledHashSet<T>>(() => new
PooledHashSet
<T>(pool!, equalityComparer), 128);
122 references to PooledHashSet
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (122)
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (2)
306
set = comparer == EqualityComparer<TValue>.Default ?
PooledHashSet
<TValue>.GetInstance() : new HashSet<TValue>(comparer);
317
(set as
PooledHashSet
<TValue>)?.Free();
src\Dependencies\Collections\Extensions\IListExtensions.cs (2)
44
var 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)
840
var set = comparer == EqualityComparer<TValue>.Default ?
PooledHashSet
<TValue>.GetInstance() : new HashSet<TValue>(comparer);
852
(set as
PooledHashSet
<TValue>)?.Free();
1016
var
set =
PooledHashSet
<TElement>.GetInstance();
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)
202
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)
331
public static PooledDisposer<
PooledHashSet
<ISymbol>> GetCaptures(
332
this IOperation operation, IMethodSymbol lambdaOrLocalFunction, out
PooledHashSet
<ISymbol> builder)
339
var builderDisposer =
PooledHashSet
<ISymbol>.GetInstance(out builder);
340
using var _ =
PooledHashSet
<IMethodSymbol>.GetInstance(out
var
nestedLambdasAndLocalFunctions);
372
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\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (4)
183
using var _ =
PooledHashSet
<SyntaxNode>.GetInstance(out
var
set);
215
using var _2 =
PooledHashSet
<SyntaxNode>.GetInstance(out
var
commonAncestorsSet);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (5)
34
var
dispatchedExceptionsFromRegions =
PooledHashSet
<ControlFlowRegion>.GetInstance();
75
PooledHashSet
<ControlFlowRegion> dispatchedExceptionsFromRegions,
84
var
processedBlocks =
PooledHashSet
<BasicBlock>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\LValueFlowCaptureProvider.cs (2)
50
var
rvalueFlowCaptureIds =
PooledHashSet
<CaptureId>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (4)
35
private readonly
PooledHashSet
<ISymbol> _referenceTakenSymbolsBuilder;
40
_referenceTakenSymbolsBuilder =
PooledHashSet
<ISymbol>.GetInstance();
66
protected abstract
PooledHashSet
<ISymbol> SymbolsReadBuilder { get; }
72
protected abstract
PooledHashSet
<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.BasicBlockAnalysisData.cs (10)
28
private readonly Dictionary<ISymbol,
PooledHashSet
<IOperation>> _reachingWrites;
43
foreach (
var
value in _reachingWrites.Values)
64
if (_reachingWrites.TryGetValue(symbol, out
var
value))
88
if (_reachingWrites.TryGetValue(symbol, out
var
values))
106
if (!_reachingWrites.TryGetValue(symbol, out
var
values))
108
values =
PooledHashSet
<IOperation>.GetInstance();
139
var
writes2 = other._reachingWrites[symbol];
223
private static void AddEntries(Dictionary<ISymbol,
PooledHashSet
<IOperation>> result, BasicBlockAnalysisData source)
229
if (!result.TryGetValue(symbol, out
var
values))
231
values =
PooledHashSet
<IOperation>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (35)
41
private readonly PooledDictionary<CaptureId,
PooledHashSet
<(ISymbol, IOperation)>> _lValueFlowCapturesMap;
48
private readonly PooledDictionary<IOperation,
PooledHashSet
<IOperation>> _reachingDelegateCreationTargets;
69
private readonly PooledDictionary<(int firstBlockOrdinal, int lastBlockOrdinal),
PooledHashSet
<(ISymbol, IOperation)>> _symbolWritesInsideBlockRangeMap;
78
PooledHashSet
<ISymbol> symbolsRead,
79
PooledHashSet
<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed,
81
PooledDictionary<IOperation,
PooledHashSet
<IOperation>> reachingDelegateCreationTargets,
99
_lValueFlowCapturesMap = PooledDictionary<CaptureId,
PooledHashSet
<(ISymbol, IOperation)>>.GetInstance();
103
_symbolWritesInsideBlockRangeMap = PooledDictionary<(int firstBlockOrdinal, int lastBlockOrdinal),
PooledHashSet
<(ISymbol, IOperation)>>.GetInstance();
108
protected override
PooledHashSet
<ISymbol> SymbolsReadBuilder { get; }
112
protected override
PooledHashSet
<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; }
131
symbolsRead:
PooledHashSet
<ISymbol>.GetInstance(),
132
lambdaOrLocalFunctionsBeingAnalyzed:
PooledHashSet
<IMethodSymbol>.GetInstance(),
134
reachingDelegateCreationTargets: PooledDictionary<IOperation,
PooledHashSet
<IOperation>>.GetInstance(),
188
using var _ =
PooledHashSet
<ILocalSymbol>.GetInstance(out
var
builder);
215
private
PooledHashSet
<(ISymbol, IOperation)> GetOrCreateSymbolWritesInBlockRange(int firstBlockOrdinal, int lastBlockOrdinal, CancellationToken cancellationToken)
217
if (!_symbolWritesInsideBlockRangeMap.TryGetValue((firstBlockOrdinal, lastBlockOrdinal), out
var
writesInBlockRange))
220
var
operations =
PooledHashSet
<IOperation>.GetInstance();
224
writesInBlockRange =
PooledHashSet
<(ISymbol, IOperation)>.GetInstance();
241
PooledHashSet
<IOperation> operationsBuilder,
254
_reachingDelegateCreationTargets.TryGetValue(invocation.Instance, out
var
targets))
273
void AddDescendantOperationsFromDelegateCreationTargets(
PooledHashSet
<IOperation> targets)
464
if (!_lValueFlowCapturesMap.TryGetValue(captureId, out
var
captures))
466
captures =
PooledHashSet
<(ISymbol, IOperation)>.GetInstance();
475
if (_lValueFlowCapturesMap.TryGetValue(captureId, out
var
captures))
522
var
targetsBuilder =
PooledHashSet
<IOperation>.GetInstance();
533
if (!arg.self._reachingDelegateCreationTargets.TryGetValue(symbolWrite, out
var
targetsBuilderForSymbolWrite))
588
var
targetsBuilder =
PooledHashSet
<IOperation>.GetInstance();
600
if (_reachingDelegateCreationTargets.TryGetValue(write, out
var
targetsBuilder))
629
foreach (
var
creations in _reachingDelegateCreationTargets.Values)
650
foreach (
var
captures in _lValueFlowCapturesMap.Values)
657
foreach (
var
operations in _symbolWritesInsideBlockRangeMap.Values)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (6)
22
PooledHashSet
<ISymbol> symbolsRead,
23
PooledHashSet
<IMethodSymbol> lambdaOrLocalFunctionsBeingAnalyzed,
32
protected override
PooledHashSet
<ISymbol> SymbolsReadBuilder { get; }
36
protected override
PooledHashSet
<IMethodSymbol> LambdaOrLocalFunctionsBeingAnalyzed { get; }
44
symbolsRead:
PooledHashSet
<ISymbol>.GetInstance(),
45
lambdaOrLocalFunctionsBeingAnalyzed:
PooledHashSet
<IMethodSymbol>.GetInstance(),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (8)
29
private PooledDictionary<IAssignmentOperation,
PooledHashSet
<(ISymbol, IOperation)>> _pendingWritesMap;
58
_pendingWritesMap = PooledDictionary<IAssignmentOperation,
PooledHashSet
<(ISymbol, IOperation)>>.GetInstance();
80
foreach (
var
pendingWrites in _pendingWritesMap.Values)
166
var
set =
PooledHashSet
<(ISymbol, IOperation)>.GetInstance();
173
if (!_pendingWritesMap.TryGetValue(deconstructionAssignment, out
var
set))
175
set =
PooledHashSet
<(ISymbol, IOperation)>.GetInstance();
188
if (_pendingWritesMap.TryGetValue(operation, out
var
pendingWrites))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\PublicContract.cs (4)
94
using var _ =
PooledHashSet
<T>.GetInstance(out
var
set);
124
using var _ =
PooledHashSet
<T>.GetInstance(out
var
set);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamedTypeSymbolExtensions.cs (2)
453
using var _ =
PooledHashSet
<string>.GetInstance(out
var
seenNames);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\ITypeSymbolExtensions.CollectTypeParameterSymbolsVisitor.cs (2)
18
private readonly
PooledHashSet
<ISymbol> _visited =
PooledHashSet
<ISymbol>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService_FindDeclaration.cs (2)
152
using var _ =
PooledHashSet
<SyntaxNode>.GetInstance(out
var
ancestors);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (2)
81
using var _ =
PooledHashSet
<INamespaceSymbol>.GetInstance(out
var
conflicts);