1 instantiation of PooledDictionary
Test.Utilities (1)
src\Dependencies\PooledObjects\PooledDictionary.cs (1)
51
pool = new ObjectPool<PooledDictionary<K, V>>(() => new
PooledDictionary
<K, V>(pool!, keyComparer), 128);
33 references to PooledDictionary
Test.Utilities (33)
src\Dependencies\PooledObjects\PooledDictionary.cs (11)
21
private readonly ObjectPool<
PooledDictionary
<K, V>> _pool;
23
private PooledDictionary(ObjectPool<
PooledDictionary
<K, V>> pool, IEqualityComparer<K> keyComparer)
45
private static readonly ObjectPool<
PooledDictionary
<K, V>> s_poolInstance = CreatePool(EqualityComparer<K>.Default);
48
public static ObjectPool<
PooledDictionary
<K, V>> CreatePool(IEqualityComparer<K> keyComparer)
50
ObjectPool<
PooledDictionary
<K, V>>? pool = null;
51
pool = new ObjectPool<
PooledDictionary
<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
55
public static
PooledDictionary
<K, V> GetInstance()
57
var
instance = s_poolInstance.Allocate();
63
public static PooledDisposer<
PooledDictionary
<K, V>> GetInstance(out
PooledDictionary
<K, V> instance)
66
return new PooledDisposer<
PooledDictionary
<K, V>>(instance);
src\RoslynAnalyzers\Utilities\Compiler\Options\AggregateCategorizedAnalyzerConfigOptions.cs (2)
70
var
perTreeOptionsBuilder =
PooledDictionary
<SyntaxTree, Lazy<SyntaxTreeCategorizedAnalyzerConfigOptions>>.GetInstance();
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (15)
89
var
namesBuilder =
PooledDictionary
<string, TValue>.GetInstance();
90
var
symbolsBuilder =
PooledDictionary
<ISymbol, TValue>.GetInstance();
91
var
wildcardNamesBuilder =
PooledDictionary
<SymbolKind,
PooledDictionary
<string, TValue>>.GetInstance();
141
static void ProcessWildcardName(NameParts parts,
PooledDictionary
<SymbolKind,
PooledDictionary
<string, TValue>> wildcardNamesBuilder)
148
if (!wildcardNamesBuilder.TryGetValue(AllKinds, out
var
associatedValues))
150
associatedValues =
PooledDictionary
<string, TValue>.GetInstance();
171
if (!wildcardNamesBuilder.TryGetValue(symbolKind.Value, out
var
associatedValues))
173
associatedValues =
PooledDictionary
<string, TValue>.GetInstance();
181
static void ProcessName(NameParts parts,
PooledDictionary
<string, TValue> namesBuilder)
189
static void ProcessSymbolName(NameParts parts, Compilation compilation, string? optionalPrefix,
PooledDictionary
<ISymbol, TValue> symbolsBuilder)
src\RoslynAnalyzers\Utilities\Compiler\PooledObjects\PooledDictionary.cs (5)
38
private static readonly ConcurrentDictionary<IEqualityComparer<K>, ObjectPool<
PooledDictionary
<K, V>>> s_poolInstancesByComparer
41
public static
PooledDictionary
<K, V> GetInstance(IEqualityComparer<K>? keyComparer = null)
46
var
instance = pool.Allocate();
51
public static
PooledDictionary
<K, V> GetInstance(IEnumerable<KeyValuePair<K, V>> initializer, IEqualityComparer<K>? keyComparer = null)
53
var
instance = GetInstance(keyComparer);