1 type derived from ObjectPool
Microsoft.CodeAnalysis (1)
DocumentationCommentId.cs (1)
22private class ListPool<T> : ObjectPool<List<T>>
56 instantiations of ObjectPool
Microsoft.CodeAnalysis (31)
CodeGen\BasicBlock.cs (1)
59return new ObjectPool<BasicBlock>(() => new PooledBasicBlock(), size);
Collections\CachingFactory.cs (1)
198var pool = new ObjectPool<CachingIdentityFactory<TKey, TValue>>(
Collections\OrderPreservingMultiDictionary.cs (1)
60var pool = new ObjectPool<OrderPreservingMultiDictionary<K, V>>(
CommandLine\AnalyzerConfigSet.cs (3)
55new ObjectPool<TreeOptions.Builder>(() => ImmutableDictionary.CreateBuilder<string, ReportDiagnostic>(Section.PropertiesKeyComparer)); 58new ObjectPool<AnalyzerOptions.Builder>(() => ImmutableDictionary.CreateBuilder<string, string>(Section.PropertiesKeyComparer)); 60private readonly ObjectPool<List<Section>> _sectionKeyPool = new ObjectPool<List<Section>>(() => new List<Section>());
Diagnostic\DiagnosticBag.cs (1)
340return new ObjectPool<DiagnosticBag>(() => new DiagnosticBag(), size);
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
25new ObjectPool<AnalyzerDiagnosticReporter>(() => new AnalyzerDiagnosticReporter(), 10);
DocumentationComments\XmlDocumentationCommentTextReader.cs (1)
24new ObjectPool<XmlDocumentationCommentTextReader>(() => new XmlDocumentationCommentTextReader(), size: 2);
InternalUtilities\BlobBuildingStream.cs (1)
20private static readonly ObjectPool<BlobBuildingStream> s_pool = new ObjectPool<BlobBuildingStream>(() => new BlobBuildingStream());
InternalUtilities\StringTable.cs (1)
90var pool = new ObjectPool<StringTable>(pool => new StringTable(pool), Environment.ProcessorCount * 2);
InternalUtilities\TextKeyedCache.cs (1)
86var pool = new ObjectPool<TextKeyedCache<T>>(
PEWriter\PooledBlobBuilder.cs (1)
20private static readonly ObjectPool<PooledBlobBuilder> s_chunkPool = new ObjectPool<PooledBlobBuilder>(() => new PooledBlobBuilder(PoolChunkSize), PoolSize);
ReferenceManager\CommonReferenceManager.Binding.cs (3)
19new ObjectPool<MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>>(() => new MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>(AssemblyIdentityComparer.SimpleNameComparer)); 723private static readonly ObjectPool<Queue<AssemblyReferenceCandidate>> s_candidatesToExaminePool = new ObjectPool<Queue<AssemblyReferenceCandidate>>(() => new Queue<AssemblyReferenceCandidate>()); 724private static readonly ObjectPool<List<TAssemblySymbol?>> s_candidateReferencedSymbolsPool = new ObjectPool<List<TAssemblySymbol?>>(() => new List<TAssemblySymbol?>(capacity: 1024));
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithSimpleName.cs (2)
31private static readonly ObjectPool<Stack<string>> s_stringStackPool = new ObjectPool<Stack<string>>(static () => new Stack<string>()); 32private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = new ObjectPool<Stack<SyntaxNode>>(static () => new Stack<SyntaxNode>());
src\Dependencies\PooledObjects\ArrayBuilder.cs (1)
525pool = new ObjectPool<ArrayBuilder<T>>(() => new ArrayBuilder<T>(pool!), size);
src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21public static readonly ObjectPool<T> Instance = new(() => new T(), 20);
src\Dependencies\PooledObjects\PooledDictionary.cs (1)
51pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
src\Dependencies\PooledObjects\PooledStringBuilder.cs (1)
88pool = new ObjectPool<PooledStringBuilder>(() => new PooledStringBuilder(pool!), size);
Syntax\SyntaxNavigator.cs (2)
93= new ObjectPool<Stack<ChildSyntaxList.Enumerator>>(() => new Stack<ChildSyntaxList.Enumerator>(), 10); 139= new ObjectPool<Stack<ChildSyntaxList.Reversed.Enumerator>>(() => new Stack<ChildSyntaxList.Reversed.Enumerator>(), 10);
Syntax\SyntaxNode.Iterators.cs (2)
47private static readonly ObjectPool<ChildSyntaxList.Enumerator[]> s_stackPool = new ObjectPool<ChildSyntaxList.Enumerator[]>(() => new ChildSyntaxList.Enumerator[16]); 133private static readonly ObjectPool<SyntaxTriviaList.Enumerator[]> s_stackPool = new ObjectPool<SyntaxTriviaList.Enumerator[]>(() => new SyntaxTriviaList.Enumerator[16]);
Syntax\SyntaxTriviaList.cs (1)
293new ObjectPool<SyntaxTriviaListBuilder>(() => SyntaxTriviaListBuilder.Create());
Text\CompositeText.cs (1)
364= new ObjectPool<HashSet<SourceText>>(() => new HashSet<SourceText>(), 5);
Text\SourceText.cs (2)
33private static readonly ObjectPool<char[]> s_charArrayPool = new ObjectPool<char[]>(() => new char[CharBufferSize], CharBufferCount); 34private static readonly ObjectPool<XxHash128> s_contentHashPool = new ObjectPool<XxHash128>(() => new XxHash128());
Microsoft.CodeAnalysis.CSharp (25)
Binder\BinderFactory.cs (1)
59= new ObjectPool<BinderFactoryVisitor>(static () => new BinderFactoryVisitor(), 64);
Binder\BindingDiagnosticBag.cs (4)
15private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithBoth = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithBoth!, new DiagnosticBag(), new HashSet<AssemblySymbol>())); 16private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDiagnosticsOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDiagnosticsOnly!, new DiagnosticBag(), dependenciesBag: null)); 17private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDependenciesOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDependenciesOnly!, diagnosticBag: null, new HashSet<AssemblySymbol>())); 18private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithConcurrent = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithConcurrent!, new DiagnosticBag(), new Roslyn.Utilities.ConcurrentSet<AssemblySymbol>()));
Binder\DecisionDagBuilder.cs (1)
1844private static readonly ObjectPool<DagState> s_dagStatePool = new ObjectPool<DagState>(static () => new DagState());
Binder\ExpressionVariableFinder.cs (2)
669return new ObjectPool<ExpressionVariableFinder>(() => new ExpressionVariableFinder(), 10); 742return new ObjectPool<ExpressionFieldFinder>(() => new ExpressionFieldFinder(), 10);
Binder\LookupResult.cs (1)
304pool = new ObjectPool<LookupResult>(() => new LookupResult(pool), 128); // we rarely need more than 10
Binder\LookupSymbolsInfo.cs (1)
18private static readonly ObjectPool<LookupSymbolsInfo> s_pool = new ObjectPool<LookupSymbolsInfo>(() => new LookupSymbolsInfo(), poolSize);
Binder\Semantics\Operators\BinaryOperatorOverloadResolutionResult.cs (1)
145pool = new ObjectPool<BinaryOperatorOverloadResolutionResult>(() => new BinaryOperatorOverloadResolutionResult(), 10);
Binder\Semantics\Operators\UnaryOperatorOverloadResolutionResult.cs (1)
142pool = new ObjectPool<UnaryOperatorOverloadResolutionResult>(() => new UnaryOperatorOverloadResolutionResult(), 10);
Binder\Semantics\OverloadResolution\AnalyzedArguments.cs (1)
180pool = new ObjectPool<AnalyzedArguments>(() => new AnalyzedArguments(), 10);
Binder\Semantics\OverloadResolution\MethodGroup.cs (1)
157pool = new ObjectPool<MethodGroup>(() => new MethodGroup(), 10);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1600pool = new ObjectPool<OverloadResolutionResult<TMember>>(() => new OverloadResolutionResult<TMember>(), 10);
CodeGen\Optimizer.cs (1)
291pool = new ObjectPool<LocalDefUseInfo>(() => new LocalDefUseInfo(pool), 128);
Compilation\SyntaxAndDeclarationManager.cs (1)
23new ObjectPool<Stack<SingleNamespaceOrTypeDeclaration>>(() => new Stack<SingleNamespaceOrTypeDeclaration>());
Parser\LexerCache.cs (1)
16private static readonly ObjectPool<LexerCache> s_lexerCachePool = new ObjectPool<LexerCache>(() => new LexerCache());
Parser\SlidingTextWindow.cs (1)
57private static readonly ObjectPool<char[]> s_windowPool = new ObjectPool<char[]>(() => new char[DefaultWindowLength]);
Parser\SyntaxParser.cs (2)
38private static readonly ObjectPool<BlendedNode[]> s_blendedNodesPool = new ObjectPool<BlendedNode[]>(() => new BlendedNode[32]); 39private static readonly ObjectPool<ArrayElement<SyntaxToken>[]> s_lexedTokensPool = new ObjectPool<ArrayElement<SyntaxToken>[]>(() => new ArrayElement<SyntaxToken>[CachedTokenArraySize]);
SymbolDisplay\SymbolDisplayVisitor.cs (1)
18private static readonly ObjectPool<SymbolDisplayVisitor> s_visitorPool = new ObjectPool<SymbolDisplayVisitor>(pool => new SymbolDisplayVisitor(pool), 128);
Symbols\ConstraintsHelper.cs (1)
556private static readonly ObjectPool<CheckConstraintsArgsBoxed> s_checkConstraintsArgsBoxedPool = new ObjectPool<CheckConstraintsArgsBoxed>(static () => new CheckConstraintsArgsBoxed());
Symbols\TypeSymbolExtensions.cs (1)
25= new ObjectPool<VisitTypeData>(() => new VisitTypeData(), size: 4);
Syntax\SyntaxEquivalence.cs (1)
17new ObjectPool<Stack<(GreenNode?, GreenNode?)>>(() => new Stack<(GreenNode?, GreenNode?)>());
128 references to ObjectPool
Microsoft.CodeAnalysis (69)
CodeGen\BasicBlock.cs (2)
56public static readonly ObjectPool<BasicBlock> Pool = CreatePool(32); 57private static ObjectPool<BasicBlock> CreatePool(int size)
Collections\CachingFactory.cs (5)
132private readonly ObjectPool<CachingIdentityFactory<TKey, TValue>>? _pool; 146public CachingIdentityFactory(int size, Func<TKey, TValue> valueFactory, ObjectPool<CachingIdentityFactory<TKey, TValue>> pool) : 196public static ObjectPool<CachingIdentityFactory<TKey, TValue>> CreatePool(int size, Func<TKey, TValue> valueFactory) 198var pool = new ObjectPool<CachingIdentityFactory<TKey, TValue>>( 207var pool = _pool;
Collections\OrderPreservingMultiDictionary.cs (5)
30private readonly ObjectPool<OrderPreservingMultiDictionary<K, V>>? _pool; 32private OrderPreservingMultiDictionary(ObjectPool<OrderPreservingMultiDictionary<K, V>> pool) 55private static readonly ObjectPool<OrderPreservingMultiDictionary<K, V>> s_poolInstance = CreatePool(); 58public static ObjectPool<OrderPreservingMultiDictionary<K, V>> CreatePool() 60var pool = new ObjectPool<OrderPreservingMultiDictionary<K, V>>(
CommandLine\AnalyzerConfigSet.cs (4)
54private readonly ObjectPool<TreeOptions.Builder> _treeOptionsPool = 57private readonly ObjectPool<AnalyzerOptions.Builder> _analyzerOptionsPool = 60private readonly ObjectPool<List<Section>> _sectionKeyPool = new ObjectPool<List<Section>>(() => new List<Section>()); 324static void freeKey(List<Section> sectionKey, ObjectPool<List<Section>> pool)
Diagnostic\DiagnosticBag.cs (2)
337private static readonly ObjectPool<DiagnosticBag> s_poolInstance = CreatePool(128); 338private static ObjectPool<DiagnosticBag> CreatePool(int size)
DiagnosticAnalyzer\AnalyzerExecutor.AnalyzerDiagnosticReporter.cs (1)
24private static readonly ObjectPool<AnalyzerDiagnosticReporter> s_objectPool =
DocumentationComments\XmlDocumentationCommentTextReader.cs (1)
23private static readonly ObjectPool<XmlDocumentationCommentTextReader> s_pool =
InternalUtilities\BlobBuildingStream.cs (1)
20private static readonly ObjectPool<BlobBuildingStream> s_pool = new ObjectPool<BlobBuildingStream>(() => new BlobBuildingStream());
InternalUtilities\StringTable.cs (5)
80private StringTable(ObjectPool<StringTable>? pool) 85private readonly ObjectPool<StringTable>? _pool; 86private static readonly ObjectPool<StringTable> s_staticPool = CreatePool(); 88private static ObjectPool<StringTable> CreatePool() 90var pool = new ObjectPool<StringTable>(pool => new StringTable(pool), Environment.ProcessorCount * 2);
InternalUtilities\TextKeyedCache.cs (5)
75private TextKeyedCache(ObjectPool<TextKeyedCache<T>>? pool) 81private readonly ObjectPool<TextKeyedCache<T>>? _pool; 82private static readonly ObjectPool<TextKeyedCache<T>> s_staticPool = CreatePool(); 84private static ObjectPool<TextKeyedCache<T>> CreatePool() 86var pool = new ObjectPool<TextKeyedCache<T>>(
PEWriter\PooledBlobBuilder.cs (1)
20private static readonly ObjectPool<PooledBlobBuilder> s_chunkPool = new ObjectPool<PooledBlobBuilder>(() => new PooledBlobBuilder(PoolChunkSize), PoolSize);
ReferenceManager\CommonReferenceManager.Binding.cs (3)
18private static readonly ObjectPool<MultiDictionary<string, (AssemblyData DefinitionData, int DefinitionIndex)>> s_pool = 723private static readonly ObjectPool<Queue<AssemblyReferenceCandidate>> s_candidatesToExaminePool = new ObjectPool<Queue<AssemblyReferenceCandidate>>(() => new Queue<AssemblyReferenceCandidate>()); 724private static readonly ObjectPool<List<TAssemblySymbol?>> s_candidateReferencedSymbolsPool = new ObjectPool<List<TAssemblySymbol?>>(() => new List<TAssemblySymbol?>(capacity: 1024));
SourceGeneration\Nodes\SyntaxValueProvider_ForAttributeWithSimpleName.cs (2)
31private static readonly ObjectPool<Stack<string>> s_stringStackPool = new ObjectPool<Stack<string>>(static () => new Stack<string>()); 32private static readonly ObjectPool<Stack<SyntaxNode>> s_nodeStackPool = new ObjectPool<Stack<SyntaxNode>>(static () => new Stack<SyntaxNode>());
src\Dependencies\PooledObjects\ArrayBuilder.cs (7)
58private readonly ObjectPool<ArrayBuilder<T>>? _pool; 69private ArrayBuilder(ObjectPool<ArrayBuilder<T>> pool) 458var pool = _pool; 489private static readonly ObjectPool<ArrayBuilder<T>> s_poolInstance = CreatePool(); 517public static ObjectPool<ArrayBuilder<T>> CreatePool() 522public static ObjectPool<ArrayBuilder<T>> CreatePool(int size) 524ObjectPool<ArrayBuilder<T>>? pool = null;
src\Dependencies\PooledObjects\ObjectPool`1.cs (1)
124internal ObjectPool(Func<ObjectPool<T>, T> factory, int size)
src\Dependencies\PooledObjects\PooledDelegates.cs (1)
21public static readonly ObjectPool<T> Instance = new(() => new T(), 20);
src\Dependencies\PooledObjects\PooledDictionary.cs (5)
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;
src\Dependencies\PooledObjects\PooledHashSet.cs (5)
19private readonly ObjectPool<PooledHashSet<T>> _pool; 21private PooledHashSet(ObjectPool<PooledHashSet<T>> pool, IEqualityComparer<T> equalityComparer) : 34private static readonly ObjectPool<PooledHashSet<T>> s_poolInstance = CreatePool(EqualityComparer<T>.Default); 37public static ObjectPool<PooledHashSet<T>> CreatePool(IEqualityComparer<T> equalityComparer) 39ObjectPool<PooledHashSet<T>>? pool = null;
src\Dependencies\PooledObjects\PooledStringBuilder.cs (5)
26private readonly ObjectPool<PooledStringBuilder> _pool; 28private PooledStringBuilder(ObjectPool<PooledStringBuilder> pool) 78private static readonly ObjectPool<PooledStringBuilder> s_poolInstance = CreatePool(); 85public static ObjectPool<PooledStringBuilder> CreatePool(int size = 32) 87ObjectPool<PooledStringBuilder>? pool = null;
Syntax\SyntaxNavigator.cs (2)
92private static readonly ObjectPool<Stack<ChildSyntaxList.Enumerator>> s_childEnumeratorStackPool 138private static readonly ObjectPool<Stack<ChildSyntaxList.Reversed.Enumerator>> s_childReversedEnumeratorStackPool
Syntax\SyntaxNode.Iterators.cs (2)
47private static readonly ObjectPool<ChildSyntaxList.Enumerator[]> s_stackPool = new ObjectPool<ChildSyntaxList.Enumerator[]>(() => new ChildSyntaxList.Enumerator[16]); 133private static readonly ObjectPool<SyntaxTriviaList.Enumerator[]> s_stackPool = new ObjectPool<SyntaxTriviaList.Enumerator[]>(() => new SyntaxTriviaList.Enumerator[16]);
Syntax\SyntaxTriviaList.cs (1)
292private static readonly ObjectPool<SyntaxTriviaListBuilder> s_builderPool =
Text\CompositeText.cs (1)
363private static readonly ObjectPool<HashSet<SourceText>> s_uniqueSourcesPool
Text\SourceText.cs (2)
33private static readonly ObjectPool<char[]> s_charArrayPool = new ObjectPool<char[]>(() => new char[CharBufferSize], CharBufferCount); 34private static readonly ObjectPool<XxHash128> s_contentHashPool = new ObjectPool<XxHash128>(() => new XxHash128());
Microsoft.CodeAnalysis.CSharp (59)
Binder\BinderFactory.cs (3)
58private static readonly ObjectPool<BinderFactoryVisitor> s_binderFactoryVisitorPool 61private readonly ObjectPool<BinderFactoryVisitor> _binderFactoryVisitorPool; 63internal BinderFactory(CSharpCompilation compilation, SyntaxTree syntaxTree, bool ignoreAccessibility, ObjectPool<BinderFactoryVisitor> binderFactoryVisitorPoolOpt = null)
Binder\BindingDiagnosticBag.cs (6)
15private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithBoth = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithBoth!, new DiagnosticBag(), new HashSet<AssemblySymbol>())); 16private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDiagnosticsOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDiagnosticsOnly!, new DiagnosticBag(), dependenciesBag: null)); 17private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithDependenciesOnly = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithDependenciesOnly!, diagnosticBag: null, new HashSet<AssemblySymbol>())); 18private static readonly ObjectPool<BindingDiagnosticBag> s_poolWithConcurrent = new ObjectPool<BindingDiagnosticBag>(() => new BindingDiagnosticBag(s_poolWithConcurrent!, new DiagnosticBag(), new Roslyn.Utilities.ConcurrentSet<AssemblySymbol>())); 22private readonly ObjectPool<BindingDiagnosticBag>? _pool; 29private BindingDiagnosticBag(ObjectPool<BindingDiagnosticBag> pool, DiagnosticBag? diagnosticBag, ICollection<AssemblySymbol>? dependenciesBag)
Binder\DecisionDagBuilder.cs (2)
55private static readonly ObjectPool<PooledDictionary<DagState, DagState>> s_uniqueStatePool = 1844private static readonly ObjectPool<DagState> s_dagStatePool = new ObjectPool<DagState>(static () => new DagState());
Binder\ExpressionVariableFinder.cs (4)
665private static readonly ObjectPool<ExpressionVariableFinder> s_poolInstance = CreatePool(); 667public static ObjectPool<ExpressionVariableFinder> CreatePool() 738private static readonly ObjectPool<ExpressionFieldFinder> s_poolInstance = CreatePool(); 740public static ObjectPool<ExpressionFieldFinder> CreatePool()
Binder\LookupResult.cs (5)
73private readonly ObjectPool<LookupResult> _pool; 75private LookupResult(ObjectPool<LookupResult> pool) 298private static readonly ObjectPool<LookupResult> s_poolInstance = CreatePool(); 301internal static ObjectPool<LookupResult> CreatePool() 303ObjectPool<LookupResult> pool = null;
Binder\LookupSymbolsInfo.cs (1)
18private static readonly ObjectPool<LookupSymbolsInfo> s_pool = new ObjectPool<LookupSymbolsInfo>(() => new LookupSymbolsInfo(), poolSize);
Binder\Semantics\Operators\BinaryOperatorOverloadResolutionResult.cs (3)
140public static readonly ObjectPool<BinaryOperatorOverloadResolutionResult> Pool = CreatePool(); 142private static ObjectPool<BinaryOperatorOverloadResolutionResult> CreatePool() 144ObjectPool<BinaryOperatorOverloadResolutionResult> pool = null;
Binder\Semantics\Operators\UnaryOperatorOverloadResolutionResult.cs (3)
137public static readonly ObjectPool<UnaryOperatorOverloadResolutionResult> Pool = CreatePool(); 139private static ObjectPool<UnaryOperatorOverloadResolutionResult> CreatePool() 141ObjectPool<UnaryOperatorOverloadResolutionResult> pool = null;
Binder\Semantics\OverloadResolution\AnalyzedArguments.cs (3)
175public static readonly ObjectPool<AnalyzedArguments> Pool = CreatePool(); 177private static ObjectPool<AnalyzedArguments> CreatePool() 179ObjectPool<AnalyzedArguments>? pool = null;
Binder\Semantics\OverloadResolution\MethodGroup.cs (3)
152public static readonly ObjectPool<MethodGroup> Pool = CreatePool(); 154private static ObjectPool<MethodGroup> CreatePool() 156ObjectPool<MethodGroup> pool = null;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
59private static readonly ObjectPool<PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>> s_poolInstance
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
492private static readonly ObjectPool<PooledHashSet<Symbol>> s_HiddenSymbolsSetPool = PooledHashSet<Symbol>.CreatePool(Microsoft.CodeAnalysis.CSharp.Symbols.SymbolEqualityComparer.AllIgnoreOptions);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (3)
1595private static readonly ObjectPool<OverloadResolutionResult<TMember>> s_pool = CreatePool(); 1597private static ObjectPool<OverloadResolutionResult<TMember>> CreatePool() 1599ObjectPool<OverloadResolutionResult<TMember>> pool = null;
CodeGen\Optimizer.cs (5)
242private readonly ObjectPool<LocalDefUseInfo> _pool; 245private static readonly ObjectPool<LocalDefUseInfo> s_poolInstance = CreatePool(); 271private LocalDefUseInfo(ObjectPool<LocalDefUseInfo> pool) 288public static ObjectPool<LocalDefUseInfo> CreatePool() 290ObjectPool<LocalDefUseInfo> pool = null;
Compilation\SyntaxAndDeclarationManager.cs (1)
22private static readonly ObjectPool<Stack<SingleNamespaceOrTypeDeclaration>> s_declarationStack =
Parser\LexerCache.cs (2)
16private static readonly ObjectPool<LexerCache> s_lexerCachePool = new ObjectPool<LexerCache>(() => new LexerCache()); 18private static readonly ObjectPool<CachingIdentityFactory<string, SyntaxKind>> s_keywordKindPool =
Parser\SlidingTextWindow.cs (1)
57private static readonly ObjectPool<char[]> s_windowPool = new ObjectPool<char[]>(() => new char[DefaultWindowLength]);
Parser\SyntaxParser.cs (2)
38private static readonly ObjectPool<BlendedNode[]> s_blendedNodesPool = new ObjectPool<BlendedNode[]>(() => new BlendedNode[32]); 39private static readonly ObjectPool<ArrayElement<SyntaxToken>[]> s_lexedTokensPool = new ObjectPool<ArrayElement<SyntaxToken>[]>(() => new ArrayElement<SyntaxToken>[CachedTokenArraySize]);
SymbolDisplay\SymbolDisplayVisitor.cs (3)
18private static readonly ObjectPool<SymbolDisplayVisitor> s_visitorPool = new ObjectPool<SymbolDisplayVisitor>(pool => new SymbolDisplayVisitor(pool), 128); 20private readonly ObjectPool<SymbolDisplayVisitor> _pool; 25private SymbolDisplayVisitor(ObjectPool<SymbolDisplayVisitor> pool)
Symbols\ConstraintsHelper.cs (1)
556private static readonly ObjectPool<CheckConstraintsArgsBoxed> s_checkConstraintsArgsBoxedPool = new ObjectPool<CheckConstraintsArgsBoxed>(static () => new CheckConstraintsArgsBoxed());
Symbols\NamespaceOrTypeSymbol.cs (1)
23protected static readonly ObjectPool<PooledDictionary<ReadOnlyMemory<char>, object>> s_nameToObjectPool =
Symbols\Source\SourceMemberContainerSymbol.cs (1)
182private static readonly ObjectPool<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary =
Symbols\SpecializedSymbolCollections.cs (2)
22internal static readonly ObjectPool<PooledHashSet<TSymbol>> s_poolInstance = PooledHashSet<TSymbol>.CreatePool(SymbolEqualityComparer.ConsiderEverything); 34internal static readonly ObjectPool<PooledDictionary<TSymbol, V>> s_poolInstance = PooledDictionary<TSymbol, V>.CreatePool(SymbolEqualityComparer.ConsiderEverything);
Symbols\TypeSymbolExtensions.cs (1)
24private static readonly ObjectPool<VisitTypeData> s_visitTypeDataPool
Syntax\SyntaxEquivalence.cs (1)
16private static readonly ObjectPool<Stack<(GreenNode? before, GreenNode? after)>> s_equivalenceCheckStack =