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