1 instantiation of PooledDictionary
Microsoft.CodeAnalysis.AnalyzerUtilities (1)
src\Dependencies\PooledObjects\PooledDictionary.cs (1)
51pool = new ObjectPool<PooledDictionary<K, V>>(() => new PooledDictionary<K, V>(pool!, keyComparer), 128);
90 references to PooledDictionary
Microsoft.CodeAnalysis.AnalyzerUtilities (90)
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);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (10)
28private readonly PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> _escapedOperationLocationsBuilder; 29private readonly PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> _escapedReturnValueLocationsBuilder; 30private readonly PooledDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>.Builder> _escapedEntityLocationsBuilder; 42_escapedOperationLocationsBuilder = PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 43_escapedReturnValueLocationsBuilder = PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 44_escapedEntityLocationsBuilder = PooledDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 61PooledDictionary<T, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder) 630private void HandleEscapingOperation(IOperation escapingOperation, IOperation escapedInstance, PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> builder) 649PooledDictionary<TKey, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder, 671PooledDictionary<TKey, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\HazardousUsageEvaluatorCollection.cs (2)
106using var _ = PooledDictionary<(INamedTypeSymbol, bool), string>.GetInstance(out var pooledDictionary);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (4)
152public static PooledDictionary<(Location Location, IMethodSymbol? Method), HazardousUsageEvaluationResult>? BatchGetOrComputeHazardousUsages( 188public static PooledDictionary<(Location Location, IMethodSymbol? Method), HazardousUsageEvaluationResult>? BatchGetOrComputeHazardousUsages( 199PooledDictionary<(Location Location, IMethodSymbol? Method), HazardousUsageEvaluationResult>? allResults = null; 264allResults ??= PooledDictionary<(Location Location, IMethodSymbol? Method), HazardousUsageEvaluationResult>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (2)
48private PooledDictionary<AnalysisEntity, TrackedAssignmentData>? TrackedFieldPropertyAssignments; 80this.TrackedFieldPropertyAssignments = PooledDictionary<AnalysisEntity, TrackedAssignmentData>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.TrackedAssignmentData.cs (2)
27public PooledDictionary<AbstractLocation, PooledHashSet<IAssignmentOperation>>? AbstractLocationsToAssignments 62PooledDictionary<AbstractLocation, PooledHashSet<IAssignmentOperation>>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataConfig.cs (12)
96PooledDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SourceInfo>>>.GetInstance(out var sourceSymbolMapBuilder); 98PooledDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SanitizerInfo>>>.GetInstance(out var sanitizerSymbolMapBuilder); 100PooledDictionary<SinkKind, Lazy<TaintedDataSymbolMap<SinkInfo>>>.GetInstance(out var sinkSymbolMapBuilder); 105PooledDictionary<ImmutableHashSet<SourceInfo>, Lazy<TaintedDataSymbolMap<SourceInfo>>>.GetInstance(out var sourcesToSymbolMap); 107PooledDictionary<ImmutableHashSet<SanitizerInfo>, Lazy<TaintedDataSymbolMap<SanitizerInfo>>>.GetInstance(out var sanitizersToSymbolMap); 111PooledDictionary<(ImmutableHashSet<SourceInfo> SourceInfos, ImmutableHashSet<SanitizerInfo> SanitizerInfos), (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos)>.GetInstance(out var sourceSanitizersToSinks);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysis.cs (16)
65using var _2 = PooledDictionary<int, List<BranchWithInfo>>.GetInstance(out var finallyBlockSuccessorsMap); 66var catchBlockInputDataMap = PooledDictionary<ControlFlowRegion, TAnalysisData>.GetInstance(); 67var inputDataFromInfeasibleBranchesMap = PooledDictionary<int, TAnalysisData>.GetInstance(); 86using var _4 = PooledDictionary<int, (int Ordinal, ControlFlowConditionKind BranchKind)?>.GetInstance(out var blockToUniqueInputFlowMap); 91using var _5 = PooledDictionary<int, int>.GetInstance(out var loopRangeMap); 189PooledDictionary<int, List<BranchWithInfo>> finallyBlockSuccessorsMap, 190PooledDictionary<ControlFlowRegion, TAnalysisData> catchBlockInputDataMap, 191PooledDictionary<int, TAnalysisData> inputDataFromInfeasibleBranchesMap, 192PooledDictionary<int, (int Ordinal, ControlFlowConditionKind BranchKind)?> blockToUniqueInputFlowMap, 193PooledDictionary<int, int> loopRangeMap, 801private static bool ComputeLoopRangeMap(ControlFlowGraph cfg, PooledDictionary<int, int> loopRangeMap)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowAnalysisResultBuilder.cs (4)
22private readonly PooledDictionary<BasicBlock, TAnalysisData?> _info; 27_info = PooledDictionary<BasicBlock, TAnalysisData?>.GetInstance(); 62var resultBuilder = PooledDictionary<BasicBlock, TBlockAnalysisResult>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (2)
2499var builder = PooledDictionary<IParameterSymbol, ArgumentInfo<TAbstractAnalysisValue>>.GetInstance();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DictionaryAnalysisData.cs (3)
20private PooledDictionary<TKey, TValue> _coreAnalysisData; 25_coreAnalysisData = PooledDictionary<TKey, TValue>.GetInstance(); 30_coreAnalysisData = PooledDictionary<TKey, TValue>.GetInstance(initializer);