1 instantiation of PooledDictionary
Microsoft.CodeAnalysis (1)
PooledDictionary.cs (1)
46pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
205 references to PooledDictionary
Microsoft.CodeAnalysis (37)
CodeGen\SynthesizedLocalOrdinalsDispenser.cs (2)
17private PooledDictionary<long, int>? _lazyMap; 50_lazyMap = PooledDictionary<long, int>.GetInstance();
Collections\OrderPreservingMultiDictionary.cs (2)
79private PooledDictionary<K, ValueSet>? _dictionary; 87_dictionary ??= PooledDictionary<K, ValueSet>.GetInstance();
Collections\TopologicalSort.cs (4)
34PooledDictionary<TNode, int> predecessorCounts = PredecessorCounts(nodes, successors, out ImmutableArray<TNode> allNodes); 73private static PooledDictionary<TNode, int> PredecessorCounts<TNode>( 79var predecessorCounts = PooledDictionary<TNode, int>.GetInstance();
DiagnosticAnalyzer\AnalyzerDriver.cs (2)
1078var programmaticSuppressionsBuilder = PooledDictionary<Diagnostic, ImmutableHashSet<(string, LocalizableString)>.Builder>.GetInstance();
DiagnosticAnalyzer\AnalyzerExecutor.cs (4)
940var nodeActionsByKind = PooledDictionary<TLanguageKindEnum, ArrayBuilder<SyntaxNodeAnalyzerAction<TLanguageKindEnum>>>.GetInstance(); 1026var operationActionsByKind = PooledDictionary<OperationKind, ArrayBuilder<OperationAnalyzerAction>>.GetInstance();
Operations\ControlFlowGraphBuilder.cs (12)
34private readonly PooledDictionary<BasicBlockBuilder, RegionBuilder> _regionMap; 37private PooledDictionary<ILabelSymbol, BasicBlockBuilder>? _labeledBlocks; 69_regionMap = PooledDictionary<BasicBlockBuilder, RegionBuilder>.GetInstance(); 228var continueDispatchAfterFinally = PooledDictionary<ControlFlowRegion, bool>.GetInstance(); 244PooledDictionary<ControlFlowRegion, bool> continueDispatchAfterFinally, 494private static void Pack(ArrayBuilder<BasicBlockBuilder> blocks, RegionBuilder root, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 511private static bool PackRegions(RegionBuilder root, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 614private static void MergeSubRegionAndFree(RegionBuilder subRegion, ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap, bool canHaveEmptyRegion = false) 670private static bool PackBlocks(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<BasicBlockBuilder, RegionBuilder> regionMap) 1186private static void CheckUnresolvedBranches(ArrayBuilder<BasicBlockBuilder> blocks, PooledDictionary<ILabelSymbol, BasicBlockBuilder>? labeledBlocks) 3870_labeledBlocks = PooledDictionary<ILabelSymbol, BasicBlockBuilder>.GetInstance();
Operations\ControlFlowGraphBuilder.ImplicitInstanceInfo.cs (3)
33public PooledDictionary<IPropertySymbol, IOperation>? AnonymousTypePropertyValues { get; } 49AnonymousTypePropertyValues = PooledDictionary<IPropertySymbol, IOperation>.GetInstance(); 66AnonymousTypePropertyValues = PooledDictionary<IPropertySymbol, IOperation>.GetInstance();
PooledDictionary.cs (8)
16private readonly ObjectPool<PooledDictionary<K, V>> _pool; 18private PooledDictionary(ObjectPool<PooledDictionary<K, V>> pool, IEqualityComparer<K> keyComparer) 40private static readonly ObjectPool<PooledDictionary<K, V>> s_poolInstance = CreatePool(EqualityComparer<K>.Default); 43public static ObjectPool<PooledDictionary<K, V>> CreatePool(IEqualityComparer<K> keyComparer) 45ObjectPool<PooledDictionary<K, V>>? pool = null; 46pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128); 50public static PooledDictionary<K, V> GetInstance() 52var instance = s_poolInstance.Allocate();
Microsoft.CodeAnalysis.CSharp (137)
Binder\DecisionDagBuilder.cs (8)
728var tempIdentifierMap = PooledDictionary<BoundDagEvaluation, int>.GetInstance(); 948var uniqueNodes = PooledDictionary<BoundDecisionDagNode, BoundDecisionDagNode>.GetInstance(); 1620var stateIdentifierMap = PooledDictionary<DagState, int>.GetInstance(); 1629PooledDictionary<BoundDagEvaluation, int> tempIdentifierMap = PooledDictionary<BoundDagEvaluation, int>.GetInstance();
Binder\PatternExplainer.cs (2)
38var dist = PooledDictionary<BoundDecisionDagNode, (int distance, BoundDecisionDagNode next)>.GetInstance();
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (2)
127var lookedInInterfaces = PooledDictionary<TypeSymbol, bool>.GetInstance();
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (5)
58private static readonly ObjectPool<PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>> s_poolInstance 59= PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>.CreatePool(Symbols.SymbolEqualityComparer.IgnoringNullable); 61internal static PooledDictionary<NamedTypeSymbol, NamedTypeSymbol> GetInstance() 63var instance = s_poolInstance.Allocate(); 2131var dictionary = PooledDictionaryIgnoringNullableModifiersForReferenceTypes.GetInstance();
BoundTree\BoundDecisionDag.cs (2)
96var replacement = PooledDictionary<BoundDecisionDagNode, BoundDecisionDagNode>.GetInstance();
BoundTree\LengthBasedStringSwitchData.cs (2)
231var countPerChar = PooledDictionary<char, int>.GetInstance();
CodeGen\CodeGenerator.cs (2)
65private PooledDictionary<object, TextSpan> _savedSequencePoints; 435_savedSequencePoints ??= PooledDictionary<object, TextSpan>.GetInstance();
CodeGen\Optimizer.cs (2)
66var locals = PooledDictionary<LocalSymbol, LocalDefUseInfo>.GetInstance();
Compilation\CSharpCompilation.cs (2)
4522private readonly PooledDictionary<Declaration, NamespaceOrTypeSymbol> _cache; 4532_cache = PooledDictionary<Declaration, NamespaceOrTypeSymbol>.GetInstance();
Compilation\SyntaxAndDeclarationManager.cs (12)
52var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance(); 53var loadDirectiveMapBuilder = PooledDictionary<SyntaxTree, ImmutableArray<LoadDirective>>.GetInstance(); 54var loadedSyntaxTreeMapBuilder = PooledDictionary<string, SyntaxTree>.GetInstance(); 55var declMapBuilder = PooledDictionary<SyntaxTree, Lazy<RootSingleNamespaceDeclaration>>.GetInstance(); 311var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance(); 492var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance();
FlowAnalysis\AbstractFlowPass.cs (2)
80private readonly PooledDictionary<LabelSymbol, TLocalState> _labels; 211_labels = PooledDictionary<LabelSymbol, TLocalState>.GetInstance();
FlowAnalysis\AbstractFlowPass.PendingBranchesCollection.cs (2)
17private PooledDictionary<LabelSymbol, ArrayBuilder<PendingBranch>>? _labeledBranches; 117_labeledBranches = PooledDictionary<LabelSymbol, ArrayBuilder<PendingBranch>>.GetInstance();
FlowAnalysis\ControlFlowPass.cs (2)
19private readonly PooledDictionary<LabelSymbol, BoundNode> _labelsDefined = PooledDictionary<LabelSymbol, BoundNode>.GetInstance();
FlowAnalysis\DefiniteAssignment.cs (4)
43private readonly PooledDictionary<VariableIdentifier, int> _variableSlot = PooledDictionary<VariableIdentifier, int>.GetInstance(); 114private readonly PooledDictionary<Symbol, Location> _unsafeAddressTakenVariables = PooledDictionary<Symbol, Location>.GetInstance();
FlowAnalysis\NullableWalker.cs (11)
208private PooledDictionary<BoundExpression, TypeWithState>? _methodGroupReceiverMapOpt; 210private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 215private PooledDictionary<MethodSymbol, Variables>? _nestedFunctionVariables; 219private PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>>? _targetTypedAnalysisCompletionOpt; 226private PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>> TargetTypedAnalysisCompletion 227=> _targetTypedAnalysisCompletionOpt ??= PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>>.GetInstance(); 379private PooledDictionary<object, PlaceholderLocal>? _placeholderLocalsOpt; 509_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 3053_nestedFunctionVariables ??= PooledDictionary<MethodSymbol, Variables>.GetInstance(); 4066_placeholderLocalsOpt ??= PooledDictionary<object, PlaceholderLocal>.GetInstance(); 8904_methodGroupReceiverMapOpt ??= PooledDictionary<BoundExpression, TypeWithState>.GetInstance();
FlowAnalysis\NullableWalker.SnapshotManager.cs (2)
169private readonly PooledDictionary<Symbol, int> _symbolToSlot = PooledDictionary<Symbol, int>.GetInstance();
FlowAnalysis\NullableWalker.Variables.cs (3)
123private readonly PooledDictionary<VariableIdentifier, int> _variableSlot = PooledDictionary<VariableIdentifier, int>.GetInstance(); 128private readonly PooledDictionary<Symbol, TypeWithAnnotations> _variableTypes = SpecializedSymbolCollections.GetPooledSymbolDictionaryInstance<Symbol, TypeWithAnnotations>();
FlowAnalysis\NullableWalker_Patterns.cs (15)
262var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, stateWhenNotNullOpt: null); 336private PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> LearnFromDecisionDag( 367var originalInputMap = PooledDictionary<int, BoundExpression>.GetInstance(); 371var tempMap = PooledDictionary<BoundDagTemp, (int slot, TypeSymbol type)>.GetInstance(); 375var nodeStateMap = PooledDictionary<BoundDecisionDagNode, (PossiblyConditionalState state, bool believedReachable)>.GetInstance(); 378var labelStateMap = PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)>.GetInstance(); 852var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, stateWhenNotNullOpt: null); 942PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap, 987PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap, 999LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap) 1015var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, hasStateWhenNotNull ? conditionalStateWhenNotNull : null);
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (6)
357private PooledDictionary<Scope, PooledHashSet<NestedFunction>> CalculateFunctionsCapturingScopeVariables() 359var closuresCapturingScopeVariables = PooledDictionary<Scope, PooledHashSet<NestedFunction>>.GetInstance(); 363var environmentsToScopes = PooledDictionary<ClosureEnvironment, Scope>.GetInstance(); 429var closuresCapturingScopeVariables = CalculateFunctionsCapturingScopeVariables();
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
320private readonly PooledDictionary<LabelSymbol, ArrayBuilder<Scope>> _scopesAfterLabel = PooledDictionary<LabelSymbol, ArrayBuilder<Scope>>.GetInstance();
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (6)
43private readonly PooledDictionary<BoundDecisionDagNode, LabelSymbol> _dagNodeLabels = PooledDictionary<BoundDecisionDagNode, LabelSymbol>.GetInstance(); 1002var whenExpressionMap = PooledDictionary<BoundExpression, (LabelSymbol LabelToWhenExpression, ArrayBuilder<BoundWhenDecisionDagNode> WhenNodes)>.GetInstance(); 1003var whenNodeMap = PooledDictionary<BoundWhenDecisionDagNode, (LabelSymbol LabelToWhenExpression, int WhenNodeIdentifier)>.GetInstance();
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (6)
56private readonly PooledDictionary<BoundDagTemp, BoundExpression> _map = PooledDictionary<BoundDagTemp, BoundExpression>.GetInstance(); 262var placeholderValues = PooledDictionary<BoundEarlyValuePlaceholderBase, BoundExpression>.GetInstance(); 288var placeholderValues = PooledDictionary<BoundEarlyValuePlaceholderBase, BoundExpression>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_BasePatternSwitchLocalRewriter.cs (2)
25private readonly PooledDictionary<SyntaxNode, ArrayBuilder<BoundStatement>> _switchArms = PooledDictionary<SyntaxNode, ArrayBuilder<BoundStatement>>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_PatternSwitchStatement.cs (1)
26private readonly Dictionary<SyntaxNode, LabelSymbol> _sectionLabels = PooledDictionary<SyntaxNode, LabelSymbol>.GetInstance();
Lowering\SpillSequenceSpiller.cs (14)
23private readonly PooledDictionary<LocalSymbol, LocalSymbol> _tempSubstitution; 24private readonly PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> _receiverSubstitution; 28PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 29PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 184private readonly PooledDictionary<LocalSymbol, LocalSymbol> _tempSubstitution; 185private readonly PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> _receiverSubstitution; 188PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 189PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 198PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 199PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 235var tempSubstitution = PooledDictionary<LocalSymbol, LocalSymbol>.GetInstance(); 236var receiverSubstitution = PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver>.GetInstance();
Symbols\AbstractTypeMap.cs (2)
363var map = PooledDictionary<TypeSymbol, int>.GetInstance();
Symbols\Metadata\PE\PENamedTypeSymbol.cs (4)
1329PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> methodHandleToSymbol = this.CreateMethods(nonFieldMembers); 1942private PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> CreateMethods(ArrayBuilder<Symbol> members) 1946var map = PooledDictionary<MethodDefinitionHandle, PEMethodSymbol>.GetInstance();
Symbols\ReferenceManager.cs (2)
346var assemblyReferencesBySimpleName = PooledDictionary<string, List<ReferencedAssemblyIdentity>>.GetInstance();
Symbols\Source\ConstantEvaluationHelpers.cs (2)
59var graph = PooledDictionary<SourceFieldSymbolWithSyntaxReference, Node<SourceFieldSymbolWithSyntaxReference>>.GetInstance();
Symbols\Source\SourceMemberContainerSymbol.cs (5)
171private static readonly ObjectPool<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary = 172PooledDictionary<Symbol, Symbol>.CreatePool(MemberSignatureComparer.RecordAPISignatureComparer); 3923var memberSignatures = s_duplicateRecordMemberSignatureDictionary.Allocate(); 3924var fieldsByName = PooledDictionary<string, Symbol>.GetInstance();
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (1)
295var interfaceLocations = SpecializedSymbolCollections.GetPooledSymbolDictionaryInstance<NamedTypeSymbol, SourceLocation>();
Symbols\SpecializedSymbolCollections.cs (4)
25public static PooledDictionary<KSymbol, V> GetPooledSymbolDictionaryInstance<KSymbol, V>() where KSymbol : Symbol 27var instance = PooledSymbolDictionary<KSymbol, V>.s_poolInstance.Allocate(); 34internal static readonly ObjectPool<PooledDictionary<TSymbol, V>> s_poolInstance = PooledDictionary<TSymbol, V>.CreatePool(SymbolEqualityComparer.ConsiderEverything);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (9)
CompilationContext.cs (5)
439var localsDictionary = PooledDictionary<string, (LocalSymbol, int)>.GetInstance(); 1411var displayClassVariablesBuilder = PooledDictionary<string, DisplayClassVariable>.GetInstance(); 1496PooledDictionary<string, DisplayClassVariable> displayClassVariablesBuilder,
Symbols\EEMethodSymbol.cs (4)
157var localsMap = PooledDictionary<LocalSymbol, LocalSymbol>.GetInstance(); 170var displayClassVariables = PooledDictionary<string, DisplayClassVariable>.GetInstance();
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (2)
PDB\MethodDebugInfo.Native.cs (2)
396var localKindsByName = PooledDictionary<string, LocalKind>.GetInstance();
Microsoft.CodeAnalysis.Test.Utilities (11)
Compilation\ControlFlowGraphVerifier.cs (8)
116PooledDictionary<ControlFlowRegion, int> regionMap = buildRegionMap(); 117var localFunctionsMap = PooledDictionary<IMethodSymbol, ControlFlowGraph>.GetInstance(); 118var anonymousFunctionsMap = PooledDictionary<IFlowAnonymousFunctionOperation, ControlFlowGraph>.GetInstance(); 1372PooledObjects.PooledDictionary<ControlFlowRegion, int> buildRegionMap() 1374var result = PooledObjects.PooledDictionary<ControlFlowRegion, int>.GetInstance();
CustomDataFlowAnalysis.cs (3)
34var continueDispatchAfterFinally = PooledDictionary<ControlFlowRegion, bool>.GetInstance(); 75PooledDictionary<ControlFlowRegion, bool> continueDispatchAfterFinally,
Microsoft.CodeAnalysis.VisualBasic (4)
Compilation\VisualBasicCompilation.vb (2)
3148Private ReadOnly _cache As PooledDictionary(Of Declaration, NamespaceOrTypeSymbol) 3156_cache = PooledDictionary(Of Declaration, NamespaceOrTypeSymbol).GetInstance()
Symbols\ReferenceManager.vb (1)
296Dim assemblyReferencesBySimpleName = PooledDictionary(Of String, List(Of ReferencedAssemblyIdentity)).GetInstance()
Symbols\Source\SourceFieldSymbol.vb (1)
248Dim graph = PooledDictionary(Of SourceFieldSymbol, DependencyInfo).GetInstance()
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (5)
CompilationContext.vb (2)
292Dim localsDictionary = PooledDictionary(Of String, (LocalSymbol, Integer)).GetInstance() 1096Dim displayClassVariablesBuilder = PooledDictionary(Of String, DisplayClassVariable).GetInstance()
Symbols\EEMethodSymbol.vb (3)
124Dim localsMap = PooledDictionary(Of LocalSymbol, LocalSymbol).GetInstance() 156Dim newDisplayClassVariables = PooledDictionary(Of String, DisplayClassVariable).GetInstance() 525Dim localMap = PooledDictionary(Of LocalSymbol, LocalSymbol).GetInstance()