1 instantiation of PooledDictionary
Microsoft.CodeAnalysis (1)
src\Dependencies\PooledObjects\PooledDictionary.cs (1)
51pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
212 references to PooledDictionary
Microsoft.CodeAnalysis (40)
CodeGen\SynthesizedLocalOrdinalsDispenser.cs (2)
17private PooledDictionary<long, int>? _lazyMap; 50_lazyMap = PooledDictionary<long, int>.GetInstance();
Collections\DictionaryExtensions.cs (1)
97public static ImmutableSegmentedDictionary<K, ImmutableArray<V>> ToImmutableSegmentedDictionaryAndFree<K, V>(this PooledDictionary<K, ArrayBuilder<V>> dictionary)
Collections\OrderPreservingMultiDictionary.cs (2)
80private PooledDictionary<K, ValueSet>? _dictionary; 88_dictionary ??= PooledDictionary<K, ValueSet>.GetInstance();
Collections\TopologicalSort.cs (4)
48PooledDictionary<TNode, int> predecessorCounts = PredecessorCounts(nodes, addSuccessors, out ImmutableArray<TNode> allNodes); 95private static PooledDictionary<TNode, int> PredecessorCounts<TNode>( 101var predecessorCounts = PooledDictionary<TNode, int>.GetInstance();
DiagnosticAnalyzer\AnalyzerDriver.cs (2)
1152var programmaticSuppressionsBuilder = PooledDictionary<Diagnostic, ArrayBuilder<Suppression>>.GetInstance();
DiagnosticAnalyzer\AnalyzerDriver.GroupedAnalyzerActions.cs (2)
96var analyzersByKind = PooledDictionary<TLanguageKindEnum, ArrayBuilder<DiagnosticAnalyzer>>.GetInstance();
DiagnosticAnalyzer\AnalyzerExecutor.cs (4)
980var nodeActionsByKind = PooledDictionary<TLanguageKindEnum, ArrayBuilder<SyntaxNodeAnalyzerAction<TLanguageKindEnum>>>.GetInstance(); 1077var 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) 3887_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();
src\Dependencies\PooledObjects\PooledDictionary.cs (8)
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();
Microsoft.CodeAnalysis.CSharp (159)
Binder\Binder_Lambda.cs (4)
419[ThreadStatic] private static PooledDictionary<SyntaxNode, int>? s_lambdaBindings; 430var bindings = PooledDictionary<SyntaxNode, int>.GetInstance(); 463var bindings = s_lambdaBindings;
Binder\Binder_NameConflicts.cs (2)
33PooledDictionary<string, TypeParameterSymbol>? tpNames = null; 36tpNames = PooledDictionary<string, TypeParameterSymbol>.GetInstance();
Binder\DecisionDagBuilder.cs (11)
55private static readonly ObjectPool<PooledDictionary<DagState, DagState>> s_uniqueStatePool = 56PooledDictionary<DagState, DagState>.CreatePool(DagStateEquivalence.Instance); 740PooledDictionary<DagState, DagState> uniqueState = s_uniqueStatePool.Allocate(); 771var tempIdentifierMap = PooledDictionary<BoundDagEvaluation, int>.GetInstance(); 997var uniqueNodes = PooledDictionary<BoundDecisionDagNode, BoundDecisionDagNode>.GetInstance(); 1655var stateIdentifierMap = PooledDictionary<DagState, int>.GetInstance(); 1664PooledDictionary<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)
138var lookedInInterfaces = PooledDictionary<TypeSymbol, bool>.GetInstance();
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (5)
59private static readonly ObjectPool<PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>> s_poolInstance 60= PooledDictionary<NamedTypeSymbol, NamedTypeSymbol>.CreatePool(Symbols.SymbolEqualityComparer.IgnoringNullable); 62internal static PooledDictionary<NamedTypeSymbol, NamedTypeSymbol> GetInstance() 64var instance = s_poolInstance.Allocate(); 2353var dictionary = PooledDictionaryIgnoringNullableModifiersForReferenceTypes.GetInstance();
Binder\Semantics\OverloadResolution\OverloadResolution.cs (2)
1877var resultsByContainingType = PooledDictionary<NamedTypeSymbol, OneOrMany<TMemberResolution>>.GetInstance();
BoundTree\BoundDecisionDag.cs (2)
102var 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)
65var locals = PooledDictionary<LocalSymbol, LocalDefUseInfo>.GetInstance();
Compilation\CSharpCompilation.cs (2)
4884private readonly PooledDictionary<Declaration, NamespaceOrTypeSymbol> _cache; 4894_cache = PooledDictionary<Declaration, NamespaceOrTypeSymbol>.GetInstance();
Compilation\SyntaxAndDeclarationManager.cs (14)
57var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance(); 58var loadDirectiveMapBuilder = PooledDictionary<SyntaxTree, ImmutableArray<LoadDirective>>.GetInstance(); 59var loadedSyntaxTreeMapBuilder = PooledDictionary<string, SyntaxTree>.GetInstance(); 60var declMapBuilder = PooledDictionary<SyntaxTree, Lazy<RootSingleNamespaceDeclaration>>.GetInstance(); 61var lastComputedMemberNamesMap = PooledDictionary<SyntaxTree, OneOrMany<WeakReference<StrongBox<ImmutableSegmentedHashSet<string>>>>>.GetInstance(); 334var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance(); 524var ordinalMapBuilder = PooledDictionary<SyntaxTree, int>.GetInstance();
Declarations\MergedNamespaceDeclaration.cs (2)
196var typeGroups = PooledDictionary<SingleTypeDeclaration.TypeDeclarationIdentity, object>.GetInstance();
Emitter\EditAndContinue\PEDeltaAssemblyBuilder.cs (2)
119var anonymousDelegatesWithIndexedNames = PooledDictionary<AnonymousDelegateWithIndexedNamePartialKey, ArrayBuilder<AnonymousTypeValue>>.GetInstance();
FlowAnalysis\AbstractFlowPass.cs (2)
79private readonly PooledDictionary<LabelSymbol, TLocalState> _labels; 210_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)
18private 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)
237private PooledDictionary<BoundExpression, TypeWithState>? _methodGroupReceiverMapOpt; 239private PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>? _resultForPlaceholdersOpt; 244private PooledDictionary<MethodSymbol, Variables>? _nestedFunctionVariables; 248private PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>>? _targetTypedAnalysisCompletionOpt; 255private PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>> TargetTypedAnalysisCompletion 256=> _targetTypedAnalysisCompletionOpt ??= PooledDictionary<BoundExpression, Func<TypeWithAnnotations, TypeWithState>>.GetInstance(); 424private PooledDictionary<object, PlaceholderLocal>? _placeholderLocalsOpt; 557_resultForPlaceholdersOpt ??= PooledDictionary<BoundValuePlaceholderBase, (BoundExpression? Replacement, VisitResult Result)>.GetInstance(); 3382_nestedFunctionVariables ??= PooledDictionary<MethodSymbol, Variables>.GetInstance(); 4696_placeholderLocalsOpt ??= PooledDictionary<object, PlaceholderLocal>.GetInstance(); 10307_methodGroupReceiverMapOpt ??= PooledDictionary<BoundExpression, TypeWithState>.GetInstance();
FlowAnalysis\NullableWalker.SnapshotManager.cs (2)
166private 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)
300var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, stateWhenNotNullOpt: null); 374private PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> LearnFromDecisionDag( 405var originalInputMap = PooledDictionary<int, BoundExpression>.GetInstance(); 409var tempMap = PooledDictionary<BoundDagTemp, (int slot, TypeSymbol type)>.GetInstance(); 413var nodeStateMap = PooledDictionary<BoundDecisionDagNode, (PossiblyConditionalState state, bool believedReachable)>.GetInstance(); 416var labelStateMap = PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)>.GetInstance(); 894var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, stateWhenNotNullOpt: null); 989PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap, 1034PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap, 1046LocalState getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (LocalState state, bool believedReachable)> labelStateMap) 1062var labelStateMap = LearnFromDecisionDag(node.Syntax, node.ReachabilityDecisionDag, node.Expression, expressionState, hasStateWhenNotNull ? conditionalStateWhenNotNull : null);
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (6)
362private PooledDictionary<Scope, PooledHashSet<NestedFunction>> CalculateFunctionsCapturingScopeVariables() 364var closuresCapturingScopeVariables = PooledDictionary<Scope, PooledHashSet<NestedFunction>>.GetInstance(); 368var environmentsToScopes = PooledDictionary<ClosureEnvironment, Scope>.GetInstance(); 434var closuresCapturingScopeVariables = CalculateFunctionsCapturingScopeVariables();
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
338private 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(); 266var placeholderValues = PooledDictionary<BoundEarlyValuePlaceholderBase, BoundExpression>.GetInstance(); 292var 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)
22private readonly PooledDictionary<LocalSymbol, LocalSymbol> _tempSubstitution; 23private readonly PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> _receiverSubstitution; 27PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 28PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 183private readonly PooledDictionary<LocalSymbol, LocalSymbol> _tempSubstitution; 184private readonly PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> _receiverSubstitution; 187PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 188PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 197PooledDictionary<LocalSymbol, LocalSymbol> tempSubstitution, 198PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver> receiverSubstitution, 234var tempSubstitution = PooledDictionary<LocalSymbol, LocalSymbol>.GetInstance(); 235var receiverSubstitution = PooledDictionary<LocalSymbol, BoundComplexConditionalReceiver>.GetInstance();
Symbols\AbstractTypeMap.cs (2)
364var map = PooledDictionary<TypeSymbol, int>.GetInstance();
Symbols\Metadata\PE\PENamedTypeSymbol.cs (4)
1548PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> methodHandleToSymbol = this.CreateMethods(nonFieldMembers); 2251private PooledDictionary<MethodDefinitionHandle, PEMethodSymbol> CreateMethods(ArrayBuilder<Symbol> members) 2255var map = PooledDictionary<MethodDefinitionHandle, PEMethodSymbol>.GetInstance();
Symbols\NamespaceOrTypeSymbol.cs (2)
23protected static readonly ObjectPool<PooledDictionary<ReadOnlyMemory<char>, object>> s_nameToObjectPool = 24PooledDictionary<ReadOnlyMemory<char>, object>.CreatePool(ReadOnlyMemoryOfCharComparer.Instance);
Symbols\ReferenceManager.cs (2)
345var assemblyReferencesBySimpleName = PooledDictionary<string, List<ReferencedAssemblyIdentity>>.GetInstance();
Symbols\Source\ConstantEvaluationHelpers.cs (2)
59var graph = PooledDictionary<SourceFieldSymbolWithSyntaxReference, Node<SourceFieldSymbolWithSyntaxReference>>.GetInstance();
Symbols\Source\SourceMemberContainerSymbol.cs (7)
182private static readonly ObjectPool<PooledDictionary<Symbol, Symbol>> s_duplicateRecordMemberSignatureDictionary = 183PooledDictionary<Symbol, Symbol>.CreatePool(MemberSignatureComparer.RecordAPISignatureComparer); 1662var accumulator = s_nameToObjectPool.Allocate(); 3620PooledDictionary<ReadOnlyMemory<char>, object>? partialMembersToMerge = null; 4824var memberSignatures = s_duplicateRecordMemberSignatureDictionary.Allocate(); 4825var fieldsByName = PooledDictionary<string, Symbol>.GetInstance();
Symbols\Source\SourceNamedTypeSymbol_Bases.cs (1)
296var interfaceLocations = SpecializedSymbolCollections.GetPooledSymbolDictionaryInstance<NamedTypeSymbol, SourceLocation>();
Symbols\Source\SourceNamespaceSymbol.cs (1)
275var builder = s_nameToObjectPool.Allocate();
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.ExpressionEvaluator.ExpressionCompiler (2)
PDB\MethodDebugInfo.Native.cs (2)
397var 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(); 1347PooledObjects.PooledDictionary<ControlFlowRegion, int> buildRegionMap() 1349var result = PooledObjects.PooledDictionary<ControlFlowRegion, int>.GetInstance();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (3)
33var continueDispatchAfterFinally = PooledDictionary<ControlFlowRegion, bool>.GetInstance(); 74PooledDictionary<ControlFlowRegion, bool> continueDispatchAfterFinally,