1 instantiation of PooledHashSet
Microsoft.CodeAnalysis (1)
src\Dependencies\PooledObjects\PooledHashSet.cs (1)
40pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128);
286 references to PooledHashSet
Microsoft.CodeAnalysis (61)
Binding\BindingDiagnosticBag.cs (2)
72: this(usePool ? DiagnosticBag.GetInstance() : new DiagnosticBag(), usePool ? PooledHashSet<TAssemblySymbol>.GetInstance() : new HashSet<TAssemblySymbol>()) 80((PooledHashSet<TAssemblySymbol>?)DependenciesBag)?.Free();
Collections\TopologicalSort.cs (2)
102var counted = PooledHashSet<TNode>.GetInstance();
CommandLine\CommandLineArguments.cs (2)
530var resolvedReferencesSet = PooledHashSet<AnalyzerFileReference>.GetInstance();
CommandLine\CommonCompiler.cs (2)
303var processedDirs = PooledHashSet<string>.GetInstance();
DiagnosticAnalyzer\AnalyzerDriver.cs (10)
895var uniqueDiagnosticIds = PooledHashSet<string>.GetInstance(); 1827var processedAnalyzers = PooledHashSet<DiagnosticAnalyzer>.GetInstance(); 2030var unsuppressedAnalyzersBuilder = PooledHashSet<DiagnosticAnalyzer>.GetInstance(); 2077var symbolStartAnalyzers = PooledHashSet<DiagnosticAnalyzer>.GetInstance(); 2617var analyzersForNodes = PooledHashSet<DiagnosticAnalyzer>.GetInstance();
DiagnosticAnalyzer\AnalyzerExecutor.cs (4)
941var blockEndActions = PooledHashSet<TBlockAction>.GetInstance(); 942var blockActions = PooledHashSet<TBlockAction>.GetInstance();
DiagnosticAnalyzer\CompilationWithAnalyzers.cs (2)
896var partialTrees = PooledHashSet<SyntaxTree>.GetInstance();
Emit\EditAndContinue\DefinitionMap.cs (2)
714var lambdaIdSet = PooledHashSet<DebugId>.GetInstance();
NativePdbWriter\PdbWriter.cs (2)
165PooledHashSet<string> lazyDeclaredExternAliases = null; 179lazyDeclaredExternAliases = PooledHashSet<string>.GetInstance();
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
25private PooledHashSet<BasicBlockBuilder>? _predecessors; 171_predecessors = PooledHashSet<BasicBlockBuilder>.GetInstance();
Operations\ControlFlowGraphBuilder.cs (7)
229var dispatchedExceptionsFromRegions = PooledHashSet<ControlFlowRegion>.GetInstance(); 245PooledHashSet<ControlFlowRegion> dispatchedExceptionsFromRegions, 1193PooledHashSet<BasicBlockBuilder>? unresolved = null; 1200unresolved = PooledHashSet<BasicBlockBuilder>.GetInstance(); 1868var idsStillOnTheStack = PooledHashSet<CaptureId>.GetInstance();
ReferenceManager\CommonReferenceManager.Binding.cs (2)
235var resolutionFailures = PooledHashSet<AssemblyIdentity>.GetInstance();
SourceGeneration\Nodes\InputNode.cs (2)
51var itemsSet = (_inputComparer == EqualityComparer<T>.Default) ? PooledHashSet<T>.GetInstance() : new HashSet<T>(_inputComparer); 108(itemsSet as PooledHashSet<T>)?.Free();
src\Dependencies\Collections\Extensions\IEnumerableExtensions.cs (2)
306set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 317(set as PooledHashSet<TValue>)?.Free();
src\Dependencies\Collections\Extensions\IListExtensions.cs (2)
46var set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 59(set as PooledHashSet<TValue>)?.Free();
src\Dependencies\Collections\Extensions\ImmutableArrayExtensions.cs (4)
840var set = comparer == EqualityComparer<TValue>.Default ? PooledHashSet<TValue>.GetInstance() : new HashSet<TValue>(comparer); 852(set as PooledHashSet<TValue>)?.Free(); 1016var set = PooledHashSet<TElement>.GetInstance();
src\Dependencies\PooledObjects\ArrayBuilder.cs (4)
691var set = PooledHashSet<T>.GetInstance(); 734var set = PooledHashSet<S>.GetInstance();
src\Dependencies\PooledObjects\PooledHashSet.cs (8)
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; 40pool = new ObjectPool<PooledHashSet<T>>(() => new PooledHashSet<T>(pool!, equalityComparer), 128); 44public static PooledHashSet<T> GetInstance() 46var instance = s_poolInstance.Allocate();
Microsoft.CodeAnalysis.CSharp (187)
Binder\Binder.CapturedParametersFinder.cs (3)
32var namesToCheck = PooledHashSet<string>.GetInstance(); 89void addParameterNames(PooledHashSet<string> namesToCheck)
Binder\Binder_AnonymousTypes.cs (2)
41var uniqueFieldNames = PooledHashSet<string>.GetInstance();
Binder\Binder_Deconstruct.cs (2)
574var uniqueFieldNames = PooledHashSet<string>.GetInstance();
Binder\Binder_Expressions.cs (8)
975var uniqueFieldNames = PooledHashSet<string>.GetInstance(); 1090var uniqueFieldNames = PooledHashSet<string>.GetInstance(); 1180var toRemove = PooledHashSet<string>.GetInstance(); 5705var memberNameMap = PooledHashSet<string>.GetInstance();
Binder\Binder_Lambda.cs (2)
375var pNames = PooledHashSet<string>.GetInstance();
Binder\Binder_Lookup.cs (5)
202PooledHashSet<MethodSymbol>? implementationsToShadow = null; 225implementationsToShadow ??= PooledHashSet<MethodSymbol>.GetInstance(); 877PooledHashSet<NamedTypeSymbol> visited = null; 1266PooledHashSet<NamedTypeSymbol> visited = null; 2059PooledHashSet<NamedTypeSymbol> visited = null;
Binder\Binder_NameConflicts.cs (2)
56PooledHashSet<string>? pNames = null; 59pNames = PooledHashSet<string>.GetInstance();
Binder\Binder_Symbols.cs (3)
694var uniqueFieldNames = PooledHashSet<string>.GetInstance(); 796private static bool CheckTupleMemberName(string name, int index, SyntaxNodeOrToken syntax, BindingDiagnosticBag diagnostics, PooledHashSet<string> uniqueFieldNames)
Binder\DecisionDagBuilder.cs (2)
214var usedValues = PooledHashSet<BoundDagEvaluation>.GetInstance();
Binder\Imports.cs (2)
204var replacedExternAliases = PooledHashSet<string>.GetInstance();
Binder\Semantics\AccessCheck.cs (4)
554PooledHashSet<NamedTypeSymbol> interfacesLookedAt = null; 560interfacesLookedAt = PooledHashSet<NamedTypeSymbol>.GetInstance(); 564PooledHashSet<NamedTypeSymbol> visited = null; 636static void getBaseInterfaces(TypeSymbol derived, ArrayBuilder<NamedTypeSymbol> baseInterfaces, PooledHashSet<NamedTypeSymbol> interfacesLookedAt, ConsList<TypeSymbol> basesBeingResolved)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (2)
267var shadowedInterfaces = PooledHashSet<NamedTypeSymbol>.GetInstance();
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (2)
686var shadowedInterfaces = PooledHashSet<NamedTypeSymbol>.GetInstance();
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
492private static readonly ObjectPool<PooledHashSet<Symbol>> s_HiddenSymbolsSetPool = PooledHashSet<Symbol>.CreatePool(Microsoft.CodeAnalysis.CSharp.Symbols.SymbolEqualityComparer.AllIgnoreOptions); 497PooledHashSet<Symbol> hiddenSymbols = null;
Binder\Semantics\OverloadResolution\OverloadResolution_ArgsToParameters.cs (2)
500var alreadyDefined = PooledHashSet<string>.GetInstance();
Binder\SwitchExpressionBinder.cs (1)
141var seenTypes = Symbols.SpecializedSymbolCollections.GetPooledSymbolHashSetInstance<TypeSymbol>();
BoundTree\BoundNode.cs (2)
487public readonly PooledHashSet<LocalSymbol> DeclaredLocals = PooledHashSet<LocalSymbol>.GetInstance();
Compilation\CSharpCompilation.cs (16)
860var externalSyntaxTrees = PooledHashSet<SyntaxTree>.GetInstance(); 929var removeSet = PooledHashSet<SyntaxTree>.GetInstance(); 934var externalSyntaxTrees = PooledHashSet<SyntaxTree>.GetInstance(); 1586var uniqueUsings = PooledHashSet<NamespaceOrTypeSymbol>.GetInstance(); 2672PooledHashSet<NamespaceSymbol>? externAliasesToCheck = null; 2676externAliasesToCheck = PooledHashSet<NamespaceSymbol>.GetInstance(); 3499PooledHashSet<int>? excludeDiagnostics = null; 3502excludeDiagnostics = PooledHashSet<int>.GetInstance(); 3607private readonly PooledHashSet<string> _duplicatePaths = PooledHashSet<string>.GetInstance(); 3620var paths = PooledHashSet<string>.GetInstance();
Compilation\CSharpCompilation.UsingsFromOptionsAndDiagnostics.cs (2)
39var uniqueUsings = PooledHashSet<NamespaceOrTypeSymbol>.GetInstance();
Compilation\CSharpSemanticModel.cs (3)
4122PooledHashSet<Symbol> hiddenSymbols = null; 4135hiddenSymbols = PooledHashSet<Symbol>.GetInstance(); 4147hiddenSymbols = PooledHashSet<Symbol>.GetInstance();
Compilation\SyntaxAndDeclarationManager.cs (4)
316var removeSet = PooledHashSet<SyntaxTree>.GetInstance(); 481var removeSet = PooledHashSet<SyntaxTree>.GetInstance();
Declarations\DeclarationTreeBuilder.cs (2)
1036var memberNamesBuilder = PooledHashSet<string>.GetInstance();
Emitter\Model\PEModuleBuilder.cs (3)
220var methodDocumentList = PooledHashSet<Cci.DebugSourceDocument>.GetInstance(); 302private static void GetDocumentsForMethodsAndNestedTypes(PooledHashSet<Cci.DebugSourceDocument> documentList, ArrayBuilder<Cci.ITypeDefinition> typesToProcess, EmitContext context)
FlowAnalysis\AbstractFlowPass.cs (5)
92private PooledHashSet<BoundStatement> _labelsSeen; 209_labelsSeen = PooledHashSet<BoundStatement>.GetInstance(); 810public readonly PooledHashSet<BoundStatement> LabelsSeen; 812public SavedPending(PendingBranchesCollection pendingBranches, PooledHashSet<BoundStatement> labelsSeen) 830_labelsSeen = PooledHashSet<BoundStatement>.GetInstance();
FlowAnalysis\ControlFlowPass.cs (2)
19private readonly PooledHashSet<LabelSymbol> _labelsUsed = PooledHashSet<LabelSymbol>.GetInstance();
FlowAnalysis\DefiniteAssignment.cs (16)
66private readonly PooledHashSet<LocalSymbol> _usedVariables = PooledHashSet<LocalSymbol>.GetInstance(); 71private PooledHashSet<ParameterSymbol>? _readParameters; 77private readonly PooledHashSet<LocalFunctionSymbol> _usedLocalFunctions = PooledHashSet<LocalFunctionSymbol>.GetInstance(); 82private readonly PooledHashSet<Symbol> _writtenVariables = PooledHashSet<Symbol>.GetInstance(); 87private PooledHashSet<FieldSymbol>? _implicitlyInitializedFieldsOpt; 93(_implicitlyInitializedFieldsOpt ??= PooledHashSet<FieldSymbol>.GetInstance()).Add(field); 119private readonly PooledHashSet<Symbol> _capturedVariables = PooledHashSet<Symbol>.GetInstance(); 121private readonly PooledHashSet<Symbol> _capturedInside = PooledHashSet<Symbol>.GetInstance(); 122private readonly PooledHashSet<Symbol> _capturedOutside = PooledHashSet<Symbol>.GetInstance(); 749_readParameters ??= PooledHashSet<ParameterSymbol>.GetInstance();
FlowAnalysis\NullableWalker.cs (2)
678var alreadyWarnedMembers = PooledHashSet<Symbol>.GetInstance();
Lowering\ClosureConversion\ClosureConversion.Analysis.cs (11)
33public readonly PooledHashSet<MethodSymbol> MethodsConvertedToDelegates; 55PooledHashSet<MethodSymbol> methodsConvertedToDelegates, 78var methodsConvertedToDelegates = PooledHashSet<MethodSymbol>.GetInstance(); 150var capturedEnvs = PooledHashSet<ClosureEnvironment>.GetInstance(); 362private PooledDictionary<Scope, PooledHashSet<NestedFunction>> CalculateFunctionsCapturingScopeVariables() 364var closuresCapturingScopeVariables = PooledDictionary<Scope, PooledHashSet<NestedFunction>>.GetInstance(); 374closuresCapturingScopeVariables[scope] = PooledHashSet<NestedFunction>.GetInstance(); 471var closuresCapturingParentScope = closuresCapturingScopeVariables[parentScope]; 515foreach (var set in closuresCapturingScopeVariables.Values)
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (2)
134public readonly PooledHashSet<Symbol> CapturedVariables = PooledHashSet<Symbol>.GetInstance();
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (2)
191var documents = PooledHashSet<DebugSourceDocument>.GetInstance();
Lowering\LocalRewriter\DelegateCacheRewriter.cs (2)
169var usedTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance();
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (4)
65var hasPredecessor = PooledHashSet<BoundDecisionDagNode>.GetInstance(); 389var loweredNodes = PooledHashSet<BoundDecisionDagNode>.GetInstance();
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (3)
112PooledHashSet<Symbol>? visitedSymbols = null; 152static bool canReorderTargetAssignments(ArrayBuilder<Binder.DeconstructionVariable> targets, ref PooledHashSet<Symbol>? visitedSymbols) 184visitedSymbols ??= PooledHashSet<Symbol>.GetInstance();
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (2)
353var referenced = PooledHashSet<TypeParameterSymbol>.GetInstance();
Symbols\BaseTypeAnalysis.cs (8)
24var hs = PooledHashSet<Symbol>.GetInstance(); 69var hs = PooledHashSet<NamedTypeSymbol>.GetInstance(); 70var typesWithCycle = PooledHashSet<NamedTypeSymbol>.GetInstance(); 153var hs = PooledHashSet<Symbol>.GetInstance();
Symbols\ConstraintsHelper.cs (2)
788var set = PooledHashSet<object>.GetInstance();
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (2)
678var builder = PooledHashSet<CustomModifier>.GetInstance();
Symbols\MethodSymbol.cs (2)
1013var builder = PooledHashSet<INamedTypeSymbolInternal>.GetInstance();
Symbols\OverriddenOrHiddenMembersHelpers.cs (4)
416PooledHashSet<NamedTypeSymbol> membersOfOtherKindsHidden = PooledHashSet<NamedTypeSymbol>.GetInstance(); 417PooledHashSet<NamedTypeSymbol> allMembersHidden = PooledHashSet<NamedTypeSymbol>.GetInstance(); // Implies membersOfOtherKindsHidden.
Symbols\ReducedExtensionMethodSymbol.cs (2)
173var notInferredTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance();
Symbols\Retargeting\RetargetingMethodSymbol.cs (2)
243var builder = PooledHashSet<INamedTypeSymbolInternal>.GetInstance();
Symbols\Source\ConstantEvaluationHelpers.cs (7)
161PooledHashSet<SourceFieldSymbolWithSyntaxReference> lastUpdated = null; 185var updated = PooledHashSet<SourceFieldSymbolWithSyntaxReference>.GetInstance(); 236var updated = PooledHashSet<SourceFieldSymbolWithSyntaxReference>.GetInstance(); 295var set = PooledHashSet<SourceFieldSymbolWithSyntaxReference>.GetInstance();
Symbols\Source\ParameterHelpers.cs (4)
538var usedTypeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance(); 544static void reportUnusedExtensionTypeParameters(Symbol extensionMember, ImmutableArray<ParameterSymbol> parameters, BindingDiagnosticBag diagnostics, NamedTypeSymbol extension, ParameterSymbol extensionParameter, PooledHashSet<TypeParameterSymbol> usedTypeParameters) 576static bool collectTypeParameters(TypeSymbol type, PooledHashSet<TypeParameterSymbol> typeParameters, bool ignored)
Symbols\Source\SourceAssemblySymbol.cs (3)
1704private static PooledHashSet<AttributeSyntax> t_forwardedTypesAttributesInProgress; 1722t_forwardedTypesAttributesInProgress = PooledHashSet<AttributeSyntax>.GetInstance(); 1741var tofree = t_forwardedTypesAttributesInProgress;
Symbols\Source\SourceFieldSymbol.cs (4)
292var builder = PooledHashSet<SourceFieldSymbolWithSyntaxReference>.GetInstance(); 329var builder = PooledHashSet<SourceFieldSymbolWithSyntaxReference>.GetInstance();
Symbols\Source\SourceMemberContainerSymbol.cs (4)
2256PooledHashSet<string>? typeParameterNames = null; 2288typeParameterNames = PooledHashSet<string>.GetInstance(); 4826var memberNames = PooledHashSet<string>.GetInstance();
Symbols\Source\SourceNamespaceSymbol.AliasesAndUsings.cs (7)
265var uniqueUsings = SpecializedSymbolCollections.GetPooledSymbolHashSetInstance<NamespaceOrTypeSymbol>(); 648PooledHashSet<NamespaceOrTypeSymbol>? uniqueUsings = null; 649PooledHashSet<NamespaceOrTypeSymbol>? uniqueGlobalUsings = null; 863static PooledHashSet<NamespaceOrTypeSymbol> getOrCreateUniqueUsings(ref PooledHashSet<NamespaceOrTypeSymbol>? uniqueUsings, ImmutableArray<NamespaceOrTypeAndUsingDirective> globalUsingNamespacesOrTypes) 874static PooledHashSet<NamespaceOrTypeSymbol> getOrCreateUniqueGlobalUsingsNotInTree(ref PooledHashSet<NamespaceOrTypeSymbol>? uniqueUsings, ImmutableArray<NamespaceOrTypeAndUsingDirective> globalUsingNamespacesOrTypes, SyntaxTree tree)
Symbols\SpecializedSymbolCollections.cs (4)
13public static PooledHashSet<TSymbol> GetPooledSymbolHashSetInstance<TSymbol>() where TSymbol : Symbol 15var instance = PooledSymbolHashSet<TSymbol>.s_poolInstance.Allocate(); 22internal static readonly ObjectPool<PooledHashSet<TSymbol>> s_poolInstance = PooledHashSet<TSymbol>.CreatePool(SymbolEqualityComparer.ConsiderEverything);
Utilities\TypeSymbolExtensions.cs (4)
179internal static TypeSymbol GetNextBaseTypeNoUseSiteDiagnostics(this TypeSymbol type, ConsList<TypeSymbol> basesBeingResolved, CSharpCompilation compilation, ref PooledHashSet<NamedTypeSymbol> visited) 210private static TypeSymbol GetNextDeclaredBase(NamedTypeSymbol type, ConsList<TypeSymbol> basesBeingResolved, CSharpCompilation compilation, ref PooledHashSet<NamedTypeSymbol> visited) 244visited = visited ?? PooledHashSet<NamedTypeSymbol>.GetInstance(); 255private static void SetKnownToHaveNoDeclaredBaseCycles(ref PooledHashSet<NamedTypeSymbol> visited)
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Symbols\SymbolExtensionTests.cs (2)
256var typeParameters = PooledHashSet<TypeParameterSymbol>.GetInstance();
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (4)
ExpressionCompiler.cs (2)
422PooledHashSet<AssemblyIdentity>? assembliesLoadedInRetryLoop = null; 477assembliesLoadedInRetryLoop ??= PooledHashSet<AssemblyIdentity>.GetInstance();
MetadataUtilities.cs (2)
273var referencedIndices = PooledHashSet<int>.GetInstance();
Microsoft.CodeAnalysis.Test.Utilities (32)
Compilation\ControlFlowGraphVerifier.cs (27)
119var referencedLocalsAndMethods = PooledHashSet<ISymbol>.GetInstance(); 120var referencedCaptureIds = PooledHashSet<CaptureId>.GetInstance(); 382var longLivedIds = PooledHashSet<CaptureId>.GetInstance(); 383var referencedIds = PooledHashSet<CaptureId>.GetInstance(); 384var entryStates = ArrayBuilder<PooledHashSet<CaptureId>>.GetInstance(blocks.Length, fillWithValue: null); 390PooledHashSet<CaptureId> currentState = entryStates[i] ?? PooledHashSet<CaptureId>.GetInstance(); 446foreach (PooledHashSet<CaptureId> state in entryStates) 457void verifyLeftRegions(BasicBlock block, PooledHashSet<CaptureId> longLivedIds, PooledHashSet<CaptureId> referencedIds, ArrayBuilder<ControlFlowRegion> regions, Func<string> finalGraph) 491var referencedInLastOperation = PooledHashSet<CaptureId>.GetInstance(); 713void adjustEntryStateForDestination(ArrayBuilder<PooledHashSet<CaptureId>> entryStates, ControlFlowBranch branch, PooledHashSet<CaptureId> state) 719PooledHashSet<CaptureId> entryState = adjustAndGetEntryState(entryStates, branch.Destination, state); 752PooledHashSet<CaptureId> adjustAndGetEntryState(ArrayBuilder<PooledHashSet<CaptureId>> entryStates, BasicBlock block, PooledHashSet<CaptureId> state) 754PooledHashSet<CaptureId> entryState = entryStates[block.Ordinal]; 757entryState = PooledHashSet<CaptureId>.GetInstance(); 770PooledHashSet<CaptureId> state, IOperation operation, BasicBlock block, int operationIndex, 771PooledHashSet<CaptureId> longLivedIds, PooledHashSet<CaptureId> referencedIds, Func<string> finalGraph)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\CustomDataFlowAnalysis.cs (5)
34var dispatchedExceptionsFromRegions = PooledHashSet<ControlFlowRegion>.GetInstance(); 75PooledHashSet<ControlFlowRegion> dispatchedExceptionsFromRegions, 84var processedBlocks = PooledHashSet<BasicBlock>.GetInstance();