4 instantiations of ImmutableHashSet
System.Collections.Immutable (4)
System\Collections\Immutable\ImmutableHashSet_1.cs (4)
27public static readonly ImmutableHashSet<T> Empty = new ImmutableHashSet<T>(SortedInt32KeyNode<HashBucket>.EmptyNode, EqualityComparer<T>.Default, 0); 426var result = new ImmutableHashSet<T>(equalityComparer); 983return new ImmutableHashSet<T>(root, equalityComparer, count); 1015return (root != _root) ? new ImmutableHashSet<T>(root, _equalityComparer, adjustedCountIfDifferentRoot) : this;
4044 references to ImmutableHashSet
Analyzer.Utilities.UnitTests (1)
FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisTests.cs (1)
45public ImmutableHashSet<string> TypesToTrack { get; }
AnalyzerRunner (11)
CodeRefactoringRunner.cs (5)
31private readonly ImmutableDictionary<string, ImmutableHashSet<int>> _syntaxKinds; 78var syntaxKinds = _syntaxKinds[document.Project.Language]; 126private static ImmutableDictionary<string, ImmutableHashSet<int>> GetSyntaxKinds(ImmutableHashSet<string> refactoringNodes) 134var builder = ImmutableDictionary.CreateBuilder<string, ImmutableHashSet<int>>();
Options.cs (6)
19public readonly ImmutableHashSet<string> AnalyzerNames; 20public readonly ImmutableHashSet<string> RefactoringNodes; 47ImmutableHashSet<string> analyzerIds, 48ImmutableHashSet<string> refactoringNodes, 79ImmutableHashSet<string> analyzerIds, 80ImmutableHashSet<string> refactoringNodes,
Aspire.Dashboard (2)
ServiceClient\DashboardClient.cs (2)
61private ImmutableHashSet<Channel<IReadOnlyList<ResourceViewModelChange>>> _outgoingResourceChannels = []; 62private ImmutableHashSet<Channel<WatchInteractionsResponseUpdate>> _outgoingInteractionChannels = [];
Aspire.Hosting (2)
Dashboard\ResourcePublisher.cs (2)
23private ImmutableHashSet<Channel<ResourceSnapshotChange>> _outgoingChannels = []; 86ImmutableHashSet<Channel<ResourceSnapshotChange>> channels;
BuildActionTelemetryTable (1)
Program.cs (1)
26private static ImmutableHashSet<string> IgnoredCodeActions { get; } = new HashSet<string>()
GenerateDocumentationAndConfigFiles (133)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Microsoft.CodeAnalysis.Analyzers\Core\MetaAnalyzers\ReleaseTrackingHelper.cs (3)
338public ImmutableHashSet<Version> Versions { get; } 341: this(ImmutableSortedDictionary<string, ReleaseTrackingDataForRule>.Empty, ImmutableHashSet<Version>.Empty) 345internal ReleaseTrackingData(ImmutableSortedDictionary<string, ReleaseTrackingDataForRule> releaseTrackingDataByRuleIdMap, ImmutableHashSet<Version> versions)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
IdeCoreBenchmarks (3)
CSharpIdeAnalyzerBenchmarks.cs (1)
54refactoringNodes: ImmutableHashSet<string>.Empty,
IncrementalAnalyzerBenchmarks.cs (2)
52analyzerIds: ImmutableHashSet<string>.Empty, 53refactoringNodes: ImmutableHashSet<string>.Empty,
Metrics (185)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Metrics.Legacy (185)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Microsoft.AspNetCore.Analyzers (1)
CompilationFeatureDetector.cs (1)
24return ImmutableHashSet<string>.Empty;
Microsoft.AspNetCore.App.Analyzers (2)
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (1)
49public ImmutableHashSet<char> TriggerCharacters { get; } = ImmutableHashSet.Create(' ');
RouteEmbeddedLanguage\RoutePatternCompletionProvider.cs (1)
41public ImmutableHashSet<char> TriggerCharacters { get; } = ImmutableHashSet.Create(
Microsoft.AspNetCore.Components.Endpoints (14)
FormMapping\Converters\CollectionAdapters\ImmutableHashSetBufferAdapter.cs (10)
8internal sealed class ImmutableHashSetBufferAdapter<TElement> : ICollectionBufferAdapter<ImmutableHashSet<TElement>, ImmutableHashSet<TElement>.Builder, TElement> 10public static ImmutableHashSet<TElement>.Builder CreateBuffer() => ImmutableHashSet.CreateBuilder<TElement>(); 12public static ImmutableHashSet<TElement>.Builder Add(ref ImmutableHashSet<TElement>.Builder buffer, TElement element) 18public static ImmutableHashSet<TElement> ToResult(ImmutableHashSet<TElement>.Builder buffer) => buffer.ToImmutable(); 26ImmutableHashSet<TElement>, 28ImmutableHashSet<TElement>.Builder, 30ImmutableHashSet<TElement>.Builder,
FormMapping\Factories\Collections\TypedCollectionConverterFactory.cs (4)
58var _ when type == (typeof(ImmutableHashSet<TElement>)) => true, 153var _ when type.IsAssignableTo(typeof(ImmutableHashSet<TElement>)) => 154new CollectionConverter<ImmutableHashSet<TElement>, ImmutableHashSetBufferAdapter<TElement>, ImmutableHashSet<TElement>.Builder, TElement>(elementTypeConverter),
Microsoft.AspNetCore.Components.Endpoints.Tests (5)
Binding\FormDataMapperTests.cs (5)
825var expected = ImmutableHashSet.CreateRange(new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }); 826CanDeserialize_Collection<ImmutableHashSet<int>, ImmutableHashSet<int>, int>(expected); 865var expected = ImmutableHashSet.CreateRange(new[] { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }); 866CanDeserialize_Collection<IImmutableSet<int>, ImmutableHashSet<int>, int>(expected);
Microsoft.AspNetCore.Http.Extensions (14)
src\Components\Endpoints\src\FormMapping\Converters\CollectionAdapters\ImmutableHashSetBufferAdapter.cs (10)
8internal sealed class ImmutableHashSetBufferAdapter<TElement> : ICollectionBufferAdapter<ImmutableHashSet<TElement>, ImmutableHashSet<TElement>.Builder, TElement> 10public static ImmutableHashSet<TElement>.Builder CreateBuffer() => ImmutableHashSet.CreateBuilder<TElement>(); 12public static ImmutableHashSet<TElement>.Builder Add(ref ImmutableHashSet<TElement>.Builder buffer, TElement element) 18public static ImmutableHashSet<TElement> ToResult(ImmutableHashSet<TElement>.Builder buffer) => buffer.ToImmutable(); 26ImmutableHashSet<TElement>, 28ImmutableHashSet<TElement>.Builder, 30ImmutableHashSet<TElement>.Builder,
src\Components\Endpoints\src\FormMapping\Factories\Collections\TypedCollectionConverterFactory.cs (4)
58var _ when type == (typeof(ImmutableHashSet<TElement>)) => true, 153var _ when type.IsAssignableTo(typeof(ImmutableHashSet<TElement>)) => 154new CollectionConverter<ImmutableHashSet<TElement>, ImmutableHashSetBufferAdapter<TElement>, ImmutableHashSet<TElement>.Builder, TElement>(elementTypeConverter),
Microsoft.AspNetCore.Http.RequestDelegateGenerator (2)
RequestDelegateGeneratorSources.cs (2)
515public static string GetGeneratedRouteBuilderExtensionsSource(string endpoints, string helperMethods, string helperTypes, ImmutableHashSet<string> verbs) => $$""" 648public static string GetVerbs(ImmutableHashSet<string> verbs)
Microsoft.CodeAnalysis (188)
Binding\BindingDiagnosticBag.cs (1)
162internal void AddDependencies(ImmutableHashSet<TAssemblySymbol>? dependencies)
Binding\UseSiteInfo.cs (21)
36public readonly ImmutableHashSet<TAssemblySymbol>? SecondaryDependencies; 43public UseSiteInfo(ImmutableHashSet<TAssemblySymbol>? secondaryDependencies) : 58public UseSiteInfo(DiagnosticInfo? diagnosticInfo, TAssemblySymbol? primaryDependency, ImmutableHashSet<TAssemblySymbol>? secondaryDependencies) 66SecondaryDependencies = secondaryDependencies ?? ImmutableHashSet<TAssemblySymbol>.Empty; 90public void MergeDependencies(ref TAssemblySymbol? primaryDependency, ref ImmutableHashSet<TAssemblySymbol>? secondaryDependencies) 92secondaryDependencies = (secondaryDependencies ?? ImmutableHashSet<TAssemblySymbol>.Empty).Union(SecondaryDependencies ?? ImmutableHashSet<TAssemblySymbol>.Empty); 456/// - dependencies as a <see cref="ImmutableHashSet{TAssemblySymbol}"/>, or 457/// - a <see cref="Boxed"/> tuple of a <see cref="DiagnosticInfo"/> and a <see cref="ImmutableHashSet{TAssemblySymbol}"/>. 475Initialize(diagnosticInfo, dependencies: ImmutableHashSet<TAssemblySymbol>.Empty); 483private static ImmutableHashSet<TAssemblySymbol> GetDependenciesToCache(TAssemblySymbol? primaryDependency, UseSiteInfo<TAssemblySymbol> useSiteInfo) 485var secondaryDependencies = useSiteInfo.SecondaryDependencies ?? ImmutableHashSet<TAssemblySymbol>.Empty; 498Expand(_info, out var diagnosticInfo, out var dependencies); 508private void Initialize(DiagnosticInfo? diagnosticInfo, ImmutableHashSet<TAssemblySymbol> dependencies) 513private static object? Compact(DiagnosticInfo? diagnosticInfo, ImmutableHashSet<TAssemblySymbol> dependencies) 557Expand(info, out var diagnosticInfo, out var dependencies); 561private static void Expand(object? info, out DiagnosticInfo? diagnosticInfo, out ImmutableHashSet<TAssemblySymbol>? dependencies) 575case ImmutableHashSet<TAssemblySymbol> a: 599public readonly ImmutableHashSet<TAssemblySymbol> Dependencies; 601public Boxed(DiagnosticInfo diagnosticInfo, ImmutableHashSet<TAssemblySymbol> dependencies)
Collections\CollectionsExtensions.cs (1)
23internal static bool IsNullOrEmpty<T>([NotNullWhen(returnValue: false)] this ImmutableHashSet<T>? hashSet)
Collections\ImmutableHashSetExtensions.cs (4)
14/// Performs a <see cref="ImmutableHashSet{T}.SetEquals"/> comparison without allocating an intermediate 18public static bool SetEqualsWithoutIntermediateHashSet<T>(this ImmutableHashSet<T> set, ImmutableHashSet<T> other) 28var otherSet = other.WithComparer(set.KeyComparer);
CommandLine\AnalyzerConfig.cs (2)
71internal static ImmutableHashSet<string> ReservedKeys { get; } 87internal static ImmutableHashSet<string> ReservedValues { get; }
CommandLine\ErrorLogger.cs (1)
37ImmutableHashSet<ReportDiagnostic>? EffectiveSeverities,
CommandLine\SarifV2ErrorLogger.cs (3)
230private ImmutableArray<(string DescriptorId, int DescriptorIndex, ImmutableHashSet<ReportDiagnostic> EffectiveSeverities)> WriteRules() 232var effectiveSeveritiesBuilder = ArrayBuilder<(string DescriptorId, int DescriptorIndex, ImmutableHashSet<ReportDiagnostic> EffectiveSeverities)>.GetInstance(_descriptors.Count); 348private void WriteInvocations(ImmutableArray<(string DescriptorId, int DescriptorIndex, ImmutableHashSet<ReportDiagnostic> EffectiveSeverities)> effectiveSeverities)
DiagnosticAnalyzer\AnalysisResult.cs (5)
92var excludedAnalyzersSet = excludedAnalyzers.Any() ? excludedAnalyzers.ToImmutableHashSet() : ImmutableHashSet<DiagnosticAnalyzer>.Empty; 96private ImmutableArray<Diagnostic> GetDiagnostics(ImmutableHashSet<DiagnosticAnalyzer> excludedAnalyzers) 114ImmutableHashSet<DiagnosticAnalyzer> excludedAnalyzers, 134ImmutableHashSet<DiagnosticAnalyzer> excludedAnalyzers,
DiagnosticAnalyzer\AnalysisResultBuilder.cs (3)
509var analyzersSet = analyzers.ToImmutableHashSet(); 525ImmutableHashSet<DiagnosticAnalyzer> analyzers, 561ImmutableHashSet<DiagnosticAnalyzer> analyzers,
DiagnosticAnalyzer\AnalysisScope.cs (3)
23private readonly Lazy<ImmutableHashSet<DiagnosticAnalyzer>> _lazyAnalyzersSet; 154_lazyAnalyzersSet = new Lazy<ImmutableHashSet<DiagnosticAnalyzer>>(CreateAnalyzersSet); 178private ImmutableHashSet<DiagnosticAnalyzer> CreateAnalyzersSet() => Analyzers.ToImmutableHashSet();
DiagnosticAnalyzer\AnalyzerDriver.cs (41)
97private ImmutableHashSet<DiagnosticAnalyzer>? _lazyUnsuppressedAnalyzers; 102protected ImmutableHashSet<DiagnosticAnalyzer> UnsuppressedAnalyzers 137private ImmutableHashSet<DiagnosticAnalyzer>? _lazyCompilationEndAnalyzers; 138private ImmutableHashSet<DiagnosticAnalyzer> CompilationEndAnalyzers 189private ImmutableHashSet<DiagnosticAnalyzer>? _lazyNonConfigurableAndCustomConfigurableAnalyzers; 194private ImmutableHashSet<DiagnosticAnalyzer> NonConfigurableAndCustomConfigurableAnalyzers 203private ImmutableHashSet<DiagnosticAnalyzer>? _lazySymbolStartAnalyzers; 208private ImmutableHashSet<DiagnosticAnalyzer> SymbolStartAnalyzers 250private Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>>? _lazyGeneratedCodeSymbolsForTreeMap; 255private Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>> GeneratedCodeSymbolsForTreeMap 264private ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>>? _lazySuppressedAnalyzersForTreeMap; 269private ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>> SuppressedAnalyzersForTreeMap 422_lazyGeneratedCodeSymbolsForTreeMap = new Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>>(); 425_lazySuppressedAnalyzersForTreeMap = new ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>>(); 541private ImmutableHashSet<DiagnosticAnalyzer> ComputeNonConfigurableAndCustomConfigurableAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers, CancellationToken cancellationToken) 560private ImmutableHashSet<DiagnosticAnalyzer> ComputeSymbolStartAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers) 575ImmutableHashSet<DiagnosticAnalyzer> analyzers, 593private static bool ComputeShouldTreatAllCodeAsNonGeneratedCode(ImmutableHashSet<DiagnosticAnalyzer> analyzers, ImmutableSegmentedDictionary<DiagnosticAnalyzer, GeneratedCodeAnalysisFlags> generatedCodeAnalysisFlagsMap) 908var analyzersSuppressedForSomeTree = SuppressedAnalyzersForTreeMap.SelectMany(kvp => kvp.Value).ToImmutableHashSet(); 941var effectiveSeverities = GetEffectiveSeverities(descriptor, AnalyzerExecutor.Compilation, AnalyzerExecutor.AnalyzerOptions, cancellationToken); 950static ImmutableHashSet<ReportDiagnostic> GetEffectiveSeverities( 1273var generatedCodeSymbolsInTree = getOrComputeGeneratedCodeSymbolsInTree(location.SourceTree, compilation, cancellationToken); 1297ImmutableHashSet<ISymbol> getOrComputeGeneratedCodeSymbolsInTree(SyntaxTree tree, Compilation compilation, CancellationToken cancellationToken) 1302ImmutableHashSet<ISymbol>? generatedCodeSymbols; 1315ImmutableHashSet<ISymbol>? existingGeneratedCodeSymbols; 1328static ImmutableHashSet<ISymbol> computeGeneratedCodeSymbolsInTree(SyntaxTree tree, Compilation compilation, INamedTypeSymbol generatedCodeAttribute, CancellationToken cancellationToken) 1334return ImmutableHashSet<ISymbol>.Empty; 1341ImmutableHashSet<ISymbol>.Builder? generatedSymbolsBuilder = null; 1354return generatedSymbolsBuilder != null ? generatedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty; 1367if (!SuppressedAnalyzersForTreeMap.TryGetValue(tree, out var suppressedAnalyzers)) 1375private ImmutableHashSet<DiagnosticAnalyzer> ComputeSuppressedAnalyzersForTree(SyntaxTree tree, SyntaxTreeOptionsProvider? options, CancellationToken cancellationToken) 1379return ImmutableHashSet<DiagnosticAnalyzer>.Empty; 1382ImmutableHashSet<DiagnosticAnalyzer>.Builder? suppressedAnalyzersBuilder = null; 1431return suppressedAnalyzersBuilder != null ? suppressedAnalyzersBuilder.ToImmutable() : ImmutableHashSet<DiagnosticAnalyzer>.Empty; 1507private static ImmutableHashSet<DiagnosticAnalyzer> MakeCompilationEndAnalyzers(ImmutableArray<(DiagnosticAnalyzer, ImmutableArray<CompilationAnalyzerAction>)> compilationEndActionsByAnalyzer) 2038private static async Task<(AnalyzerActions actions, ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers)> GetAnalyzerActionsAsync( 2059var unsuppressedAnalyzers = unsuppressedAnalyzersBuilder.ToImmutableHashSet(); 2240ImmutableHashSet<DiagnosticAnalyzer> analyzers, 2265ImmutableHashSet<DiagnosticAnalyzer> analyzers,
DiagnosticAnalyzer\AnalyzerFileReference.cs (12)
215internal ImmutableSortedDictionary<string, ImmutableHashSet<string>> GetAnalyzerTypeNameMap() 226private static ImmutableSortedDictionary<string, ImmutableHashSet<string>> GetAnalyzerTypeNameMap(string fullPath, Type attributeType, AttributeLanguagesFunc languagesFunc) 230Dictionary<string, ImmutableHashSet<string>.Builder> typeNameMap = new Dictionary<string, ImmutableHashSet<string>.Builder>(StringComparer.OrdinalIgnoreCase); 379private ImmutableSortedDictionary<string, ImmutableHashSet<string>>? _lazyExtensionTypeNameMap; 454internal ImmutableSortedDictionary<string, ImmutableHashSet<string>> GetExtensionTypeNameMap() 467ImmutableSortedDictionary<string, ImmutableHashSet<string>> analyzerTypeNameMap; 515ImmutableSortedDictionary<string, ImmutableHashSet<string>> analyzerTypeNameMap; 579private ImmutableArray<TExtension> GetLanguageSpecificAnalyzers(Assembly analyzerAssembly, ImmutableSortedDictionary<string, ImmutableHashSet<string>> analyzerTypeNameMap, string language, ref bool reportedError) 581ImmutableHashSet<string>? languageSpecificAnalyzerTypeNames; 589private ImmutableArray<TExtension> GetAnalyzersForTypeNames(Assembly analyzerAssembly, ImmutableHashSet<string> analyzerTypeNames, ref bool reportedError) 651static IEnumerable<string> shuffle(ImmutableHashSet<string> source)
DiagnosticAnalyzer\CompilationWithAnalyzers.cs (1)
376var suppressorsInAnalysisScope = analysisScope.Analyzers.OfType<DiagnosticSuppressor>().ToImmutableHashSet();
InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
MetadataReader\PEModule.cs (6)
1425Func<string, TypedConstant, bool, (bool IsCallConvs, ImmutableHashSet<INamedTypeSymbolInternal>? CallConvs)> unmanagedCallersOnlyDecoder) 1436var unmanagedConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 1510internal ImmutableHashSet<string> GetStringValuesOfNotNullIfNotNullAttribute(EntityHandle token) 1514var result = ImmutableHashSet<string>.Empty;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Symbols\Attributes\UnmanagedCallersOnlyAttributeData.cs (6)
13internal static readonly UnmanagedCallersOnlyAttributeData Uninitialized = new UnmanagedCallersOnlyAttributeData(callingConventionTypes: ImmutableHashSet<INamedTypeSymbolInternal>.Empty); 14internal static readonly UnmanagedCallersOnlyAttributeData AttributePresentDataNotBound = new UnmanagedCallersOnlyAttributeData(callingConventionTypes: ImmutableHashSet<INamedTypeSymbolInternal>.Empty); 15private static readonly UnmanagedCallersOnlyAttributeData PlatformDefault = new UnmanagedCallersOnlyAttributeData(callingConventionTypes: ImmutableHashSet<INamedTypeSymbolInternal>.Empty); 19internal static UnmanagedCallersOnlyAttributeData Create(ImmutableHashSet<INamedTypeSymbolInternal>? callingConventionTypes) 26public readonly ImmutableHashSet<INamedTypeSymbolInternal> CallingConventionTypes; 28private UnmanagedCallersOnlyAttributeData(ImmutableHashSet<INamedTypeSymbolInternal> callingConventionTypes)
Microsoft.CodeAnalysis.Analyzers (206)
FixAnalyzers\FixerWithFixAllAnalyzer.cs (2)
115var createMethods = codeActionSymbol.GetMembers(CreateMethodName).OfType<IMethodSymbol>().ToImmutableHashSet(); 146ImmutableHashSet<IMethodSymbol> CreateMethods);
MetaAnalyzers\CompareSymbolsCorrectlyAnalyzer.cs (5)
170ImmutableDictionary<string, ImmutableHashSet<INamedTypeSymbol>> equalityComparerMethods, 214if (equalityComparerMethods.TryGetValue(method.Name, out var possibleMethodTypes) && 260INamedTypeSymbol iEqualityComparerType, ImmutableHashSet<INamedTypeSymbol> collectionTypes) 326private static ImmutableDictionary<string, ImmutableHashSet<INamedTypeSymbol>> GetEqualityComparerMethodsToCheck(Compilation compilation) 328var builder = ImmutableDictionary.CreateBuilder<string, ImmutableHashSet<INamedTypeSymbol>.Builder>();
MetaAnalyzers\DiagnosticAnalyzerAPIUsageAnalyzer.cs (3)
94var namedTypesToAccessedTypesMap = new ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<INamedTypeSymbol>>(); 104var usedTypes = GetUsedNamedTypes(namedType, symbolContext.Compilation, symbolContext.CancellationToken, ref hasAccessToTypeFromWorkspaceAssemblies); 190private ImmutableHashSet<INamedTypeSymbol> GetUsedNamedTypes(INamedTypeSymbol namedType, Compilation compilation, CancellationToken cancellationToken, ref bool hasAccessToTypeFromWorkspaceAssemblies)
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (2)
61private static readonly ImmutableHashSet<string> CADiagnosticIdAllowedAssemblies = ImmutableHashSet.Create( 329var diagnosticCreateMethods = diagnosticType.GetMembers("Create").OfType<IMethodSymbol>()
MetaAnalyzers\RegisterActionAnalyzer.cs (1)
178private static readonly ImmutableHashSet<string> s_supportedSymbolKinds =
MetaAnalyzers\ReleaseTrackingHelper.cs (3)
338public ImmutableHashSet<Version> Versions { get; } 341: this(ImmutableSortedDictionary<string, ReleaseTrackingDataForRule>.Empty, ImmutableHashSet<Version>.Empty) 345internal ReleaseTrackingData(ImmutableSortedDictionary<string, ReleaseTrackingDataForRule> releaseTrackingDataByRuleIdMap, ImmutableHashSet<Version> versions)
MetaAnalyzers\ReportDiagnosticAnalyzer.cs (4)
105ImmutableHashSet<INamedTypeSymbol> contextTypes = ImmutableHashSet.Create(compilationEndAnalysisContext, codeBlockAnalysisContext, 111protected abstract ReportDiagnosticCompilationAnalyzer GetAnalyzer(ImmutableHashSet<INamedTypeSymbol> contextTypes, INamedTypeSymbol diagnosticType, INamedTypeSymbol diagnosticDescriptorType, INamedTypeSymbol diagnosticAnalyzer, INamedTypeSymbol diagnosticAnalyzerAttribute); 115private readonly ImmutableHashSet<INamedTypeSymbol> _contextTypes; 121protected ReportDiagnosticCompilationAnalyzer(ImmutableHashSet<INamedTypeSymbol> contextTypes, INamedTypeSymbol diagnosticType, INamedTypeSymbol diagnosticDescriptorType, INamedTypeSymbol diagnosticAnalyzer, INamedTypeSymbol diagnosticAnalyzerAttribute)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.AnalyzerUtilities (557)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\RoslynAnalyzers\Utilities\FlowAnalysis\BranchWithInfo.cs (4)
36leavingRegionLocals: ImmutableHashSet<ILocalSymbol>.Empty, 37leavingRegionFlowCaptures: ImmutableHashSet<CaptureId>.Empty) 85leavingRegionLocals: ImmutableHashSet<ILocalSymbol>.Empty, 86leavingRegionFlowCaptures: ImmutableHashSet<CaptureId>.Empty);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAbstractValue.cs (4)
22internal CopyAbstractValue(ImmutableHashSet<AnalysisEntity> analysisEntities, CopyAbstractValueKind kind) 39: this(ImmutableHashSet<AnalysisEntity>.Empty, kind) 50internal CopyAbstractValue(ImmutableHashSet<AnalysisEntity> analysisEntities, bool isReferenceCopy) 75public ImmutableHashSet<AnalysisEntity> AnalysisEntities { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyAbstractValueDomain.cs (1)
76var mergedEntities = _entitiesDomain.Intersect(value1.AnalysisEntities, value2.AnalysisEntities);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysis.CopyDataFlowOperationVisitor.cs (5)
167var validEntities = value.AnalysisEntities.Where(entity => !entity.HasUnknownInstanceLocation).ToImmutableHashSet(); 199var newAnalysisEntities = value.AnalysisEntities.Add(analysisEntity); 251var assignedEntities = assignedValue.Value.AnalysisEntities; 257var newAnalysisEntities = assignedEntities; 481var copyValueEntities = copyValue.AnalysisEntities;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\CopyAnalysis\CopyAnalysisData.cs (1)
138var newCopyEntities = currentValue.AnalysisEntities;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAbstractValue.cs (4)
24: this(ImmutableHashSet<IOperation>.Empty, kind) 29internal DisposeAbstractValue(ImmutableHashSet<IOperation> disposingOrEscapingOperations, DisposeAbstractValueKind kind) 52private static void VerifyArguments(ImmutableHashSet<IOperation> disposingOrEscapingOperations, DisposeAbstractValueKind kind) 71public ImmutableHashSet<IOperation> DisposingOrEscapingOperations { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.cs (2)
42ImmutableHashSet<INamedTypeSymbol> disposeOwnershipTransferLikelyTypes, 88ImmutableHashSet<INamedTypeSymbol> disposeOwnershipTransferLikelyTypes,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeAbstractValueDomain.cs (1)
82var mergedDisposingOperations = _disposingOperationsDomain.Merge(value1.DisposingOrEscapingOperations, value2.DisposingOrEscapingOperations);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysis.DisposeDataFlowOperationVisitor.cs (3)
29private ImmutableHashSet<INamedTypeSymbol> DisposeOwnershipTransferLikelyTypes => DataFlowAnalysisContext.DisposeOwnershipTransferLikelyTypes; 139private void HandlePossibleEscapingOperation(IOperation escapingOperation, ImmutableHashSet<AbstractLocation> escapedLocations) 179protected override void EscapeValueForParameterPointsToLocationOnExit(IParameterSymbol parameter, AnalysisEntity analysisEntity, ImmutableHashSet<AbstractLocation> escapedLocations)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisContext.cs (3)
37ImmutableHashSet<INamedTypeSymbol> disposeOwnershipTransferLikelyTypes, 76ImmutableHashSet<INamedTypeSymbol> disposeOwnershipTransferLikelyTypes, 108internal ImmutableHashSet<INamedTypeSymbol> DisposeOwnershipTransferLikelyTypes { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\DisposeAnalysis\DisposeAnalysisHelper.cs (9)
37private static readonly ImmutableHashSet<OperationKind> s_DisposableCreationKinds = ImmutableHashSet.Create( 44private readonly ImmutableHashSet<INamedTypeSymbol> _disposeOwnershipTransferLikelyTypes; 45private ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>? _lazyDisposableFieldsMap; 70ImmutableHashSet<INamedTypeSymbol>.Empty; 73private static ImmutableHashSet<INamedTypeSymbol> GetDisposeOwnershipTransferLikelyTypes(Compilation compilation) 92Interlocked.CompareExchange(ref _lazyDisposableFieldsMap, new ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>(), null); 179public ImmutableHashSet<IFieldSymbol> GetDisposableFields(INamedTypeSymbol namedType) 184if (_lazyDisposableFieldsMap.TryGetValue(namedType, out ImmutableHashSet<IFieldSymbol> disposableFields)) 191disposableFields = ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysis.GlobalFlowStateAnalysisValueSetDomain.cs (2)
108ImmutableHashSet<IAbstractAnalysisValue>.Empty, 229var sets = value1.AnalysisValues.IntersectSet(value2.AnalysisValues);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\GlobalFlowStateAnalysis\GlobalFlowStateAnalysisValueSet.cs (16)
21ImmutableHashSet<IAbstractAnalysisValue>.Empty, ImmutableHashSet<GlobalFlowStateAnalysisValueSet>.Empty, 0, GlobalFlowStateAnalysisValueSetKind.Unset); 23ImmutableHashSet<IAbstractAnalysisValue>.Empty, ImmutableHashSet<GlobalFlowStateAnalysisValueSet>.Empty, 0, GlobalFlowStateAnalysisValueSetKind.Empty); 25ImmutableHashSet<IAbstractAnalysisValue>.Empty, ImmutableHashSet<GlobalFlowStateAnalysisValueSet>.Empty, 0, GlobalFlowStateAnalysisValueSetKind.Unknown); 28ImmutableHashSet<IAbstractAnalysisValue> analysisValues, 29ImmutableHashSet<GlobalFlowStateAnalysisValueSet> parents, 47ImmutableHashSet<IAbstractAnalysisValue> analysisValues, 48ImmutableHashSet<GlobalFlowStateAnalysisValueSet> parents, 56=> new(ImmutableHashSet.Create(analysisValue), ImmutableHashSet<GlobalFlowStateAnalysisValueSet>.Empty, height: 0, GlobalFlowStateAnalysisValueSetKind.Known); 58public ImmutableHashSet<IAbstractAnalysisValue> AnalysisValues { get; } 59public ImmutableHashSet<GlobalFlowStateAnalysisValueSet> Parents { get; } 111var negatedAnalysisValues = ImmutableHashSet.Create(AnalysisValues.Single().GetNegatedValue()); 140return GlobalFlowStateAnalysisValueSet.Create(ImmutableHashSet<IAbstractAnalysisValue>.Empty, parentsBuilder.ToImmutable(), height); 143static GlobalFlowStateAnalysisValueSet GetNegateValueFromParents(ImmutableHashSet<GlobalFlowStateAnalysisValueSet> parents)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ParameterValidationAnalysis\ParameterValidationAnalysis.ParameterValidationDataFlowOperationVisitor.cs (1)
130protected override void EscapeValueForParameterPointsToLocationOnExit(IParameterSymbol parameter, AnalysisEntity analysisEntity, ImmutableHashSet<AbstractLocation> escapedLocations)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAbstractValue.cs (11)
31private PointsToAbstractValue(ImmutableHashSet<AbstractLocation> locations, NullAbstractValue nullState) 41LValueCapturedOperations = ImmutableHashSet<IOperation>.Empty; 46private PointsToAbstractValue(ImmutableHashSet<IOperation> lValueCapturedOperations) 51Locations = ImmutableHashSet<AbstractLocation>.Empty; 61Locations = ImmutableHashSet<AbstractLocation>.Empty; 62LValueCapturedOperations = ImmutableHashSet<IOperation>.Empty; 80internal static PointsToAbstractValue Create(ImmutableHashSet<AbstractLocation> locations, NullAbstractValue nullState) 112internal static PointsToAbstractValue Create(ImmutableHashSet<IOperation> lValueCapturedOperations) 132var locations = Locations.Where(location => !location.IsNull).ToImmutableHashSet(); 181public ImmutableHashSet<AbstractLocation> Locations { get; } 182public ImmutableHashSet<IOperation> LValueCapturedOperations { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.CorePointsToAnalysisDataDomain.cs (2)
58Func<PointsToAbstractValue, ImmutableHashSet<AnalysisEntity>> getChildAnalysisEntities, 102var childEntities = ImmutableHashSetExtensions.AddRange(
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToAbstractValueDomain.cs (2)
128var mergedLValueCaptures = _lValueCapturesDomain.Merge(value1.LValueCapturedOperations, value2.LValueCapturedOperations); 136var mergedLocations = _locationsDomain.Merge(value1.Locations, value2.Locations);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToAnalysisDomain.cs (1)
26Func<PointsToAbstractValue, ImmutableHashSet<AnalysisEntity>> getChildAnalysisEntities,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysis.PointsToDataFlowOperationVisitor.cs (17)
30private readonly PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> _escapedOperationLocationsBuilder; 31private readonly PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> _escapedReturnValueLocationsBuilder; 32private readonly PooledDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>.Builder> _escapedEntityLocationsBuilder; 44_escapedOperationLocationsBuilder = PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 45_escapedReturnValueLocationsBuilder = PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 46_escapedEntityLocationsBuilder = PooledDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>.Builder>.GetInstance(); 53public ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> GetEscapedLocationsThroughOperationsMap() 56public ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> GetEscapedLocationsThroughReturnValuesMap() 59public ImmutableDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>> GetEscapedLocationsThroughEntitiesMap() 62private static ImmutableDictionary<T, ImmutableHashSet<AbstractLocation>> GetEscapedAbstractLocationsMapAndFreeBuilder<T>( 63PooledDictionary<T, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder) 70return ImmutableDictionary<T, ImmutableHashSet<AbstractLocation>>.Empty; 73var builder = ImmutableDictionary.CreateBuilder<T, ImmutableHashSet<AbstractLocation>>(); 632private void HandleEscapingOperation(IOperation escapingOperation, IOperation escapedInstance, PooledDictionary<IOperation, ImmutableHashSet<AbstractLocation>.Builder> builder) 651PooledDictionary<TKey, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder, 673PooledDictionary<TKey, ImmutableHashSet<AbstractLocation>.Builder> escapedLocationsBuilder, 703private void HandleEscapingLocations(PointsToAbstractValue pointsToValueOfEscapedInstance, ImmutableHashSet<AbstractLocation>.Builder builder)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\PointsToAnalysisResult.cs (14)
14private readonly ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> _escapedLocationsThroughOperationsMap; 15private readonly ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> _escapedLocationsThroughReturnValuesMap; 16private readonly ImmutableDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>> _escapedLocationsThroughEntitiesMap; 17private readonly ImmutableHashSet<AnalysisEntity> _trackedEntities; 18private readonly ImmutableHashSet<PointsToAbstractValue> _trackedPointsToValues; 22ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> escapedLocationsThroughOperationsMap, 23ImmutableDictionary<IOperation, ImmutableHashSet<AbstractLocation>> escapedLocationsThroughReturnValuesMap, 24ImmutableDictionary<AnalysisEntity, ImmutableHashSet<AbstractLocation>> escapedLocationsThroughEntitiesMap, 37public ImmutableHashSet<AbstractLocation> GetEscapedAbstractLocations(IOperation operation) 42public ImmutableHashSet<AbstractLocation> GetEscapedAbstractLocations(AnalysisEntity analysisEntity) 45private static ImmutableHashSet<AbstractLocation> GetEscapedAbstractLocations<TKey>( 47ImmutableDictionary<TKey, ImmutableHashSet<AbstractLocation>> map) 50if (map.TryGetValue(key, out var escapedLocations)) 55return ImmutableHashSet<AbstractLocation>.Empty;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PointsToAnalysis\TrackedEntitiesBuilder.cs (2)
65public (ImmutableHashSet<AnalysisEntity>, ImmutableHashSet<PointsToAbstractValue>) ToImmutable()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.cs (2)
54ImmutableHashSet<string> typeToTrackMetadataNames, 192ImmutableHashSet<string> typeToTrackMetadataNames,
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysis.PropertySetDataFlowOperationVisitor.cs (7)
40private readonly ImmutableHashSet<IMethodSymbol>.Builder _visitedLocalFunctions; 42private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _visitedLambdas; 55private readonly ImmutableHashSet<INamedTypeSymbol> TrackedTypeSymbols; 68ImmutableHashSet<INamedTypeSymbol>.Builder builder = ImmutableHashSet.CreateBuilder<INamedTypeSymbol>(); 88public ImmutableHashSet<IMethodSymbol> VisitedLocalFunctions => this._visitedLocalFunctions.ToImmutable(); 90public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas => this._visitedLambdas.ToImmutable(); 131protected override void EscapeValueForParameterPointsToLocationOnExit(IParameterSymbol parameter, AnalysisEntity analysisEntity, ImmutableHashSet<AbstractLocation> escapedLocations)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisContext.cs (3)
41ImmutableHashSet<string> typeToTrackMetadataNames, 82ImmutableHashSet<string> typeToTrackMetadataNames, 141public ImmutableHashSet<string> TypeToTrackMetadataNames { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisResult.cs (4)
20ImmutableHashSet<IMethodSymbol> visitedLocalFunctions, 21ImmutableHashSet<IFlowAnonymousFunctionOperation> visitedLambdas) 32public ImmutableHashSet<IMethodSymbol> VisitedLocalFunctions { get; } 34public ImmutableHashSet<IFlowAnonymousFunctionOperation> VisitedLambdas { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\AnySanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\DllSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\FilePathInjectionSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedBytesSources.cs (1)
17public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedCertificateSources.cs (1)
15public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedEncryptionKeySinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\HardcodedSymmetricAlgorithmKeysSources.cs (2)
17public static ImmutableHashSet<SourceInfo> SourceInfos { get; } = BuildSources(); 22private static ImmutableHashSet<SourceInfo> BuildSources()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\InformationDisclosureSources.cs (1)
15public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\LdapSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PooledHashSetExtensions.cs (72)
50?? ImmutableHashSet<string>.Empty, 53?.Select(o => new KeyValuePair<string, ImmutableHashSet<string>>(o.Method, o.Parameters.ToImmutableHashSet())) 55?? ImmutableDictionary<string, ImmutableHashSet<string>>.Empty); 67taintedProperties: ImmutableHashSet<string>.Empty, 68transferProperties: ImmutableHashSet<string>.Empty, 72ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)>.Empty, 74ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)>.Empty, 76ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)>.Empty, 78ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 94taintedProperties: ImmutableHashSet<string>.Empty, 95transferProperties: ImmutableHashSet<string>.Empty, 99ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)>.Empty, 101ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)>.Empty, 103ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)>.Empty, 105ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 123?? ImmutableHashSet<string>.Empty, 124transferProperties: ImmutableHashSet<string>.Empty, 126ImmutableHashSet<ParameterMatcher>.Empty, 129?.Select<string, (MethodMatcher, ImmutableHashSet<string>)>(o => 132ImmutableHashSet<string>.Empty.Add(TaintedTargetValue.Return) 135?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)>.Empty, 137ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)>.Empty, 139ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)>.Empty, 141ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 173?? ImmutableHashSet<string>.Empty, 175?? ImmutableHashSet<string>.Empty, 177ImmutableHashSet<ParameterMatcher>.Empty, 179ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)>.Empty, 185?? ImmutableHashSet<(PointsToCheck, string)>.Empty 188?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)>.Empty, 194?? ImmutableHashSet<(ValueContentCheck, string)>.Empty 197?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)>.Empty, 205?? ImmutableHashSet<(string, string)>.Empty)) 207?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 230?? ImmutableHashSet<string>.Empty, 231transferProperties: ImmutableHashSet<string>.Empty, 233ImmutableHashSet<ParameterMatcher>.Empty, 235ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)>.Empty, 243?? ImmutableHashSet<(PointsToCheck, string)>.Empty 246?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)>.Empty, 254?? ImmutableHashSet<(ValueContentCheck, string)>.Empty 257?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)>.Empty, 259ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 280?.Select<string, (MethodMatcher, ImmutableHashSet<(string, string)>)>(o => 283ImmutableHashSet<(string, string)>.Empty)) 285?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 287?? ImmutableHashSet<string>.Empty); 310?? ImmutableHashSet<(string, string)>.Empty)) 312?? ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)>.Empty, 314?? ImmutableHashSet<string>.Empty);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\PrimitiveTypeConverterSanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ProcessCommandSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RedirectSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\RegexSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SanitizerInfo.cs (6)
21ImmutableHashSet<(MethodMatcher methodMatcher, ImmutableHashSet<(string IfTaintedParameter, string ThenUnTaintedTarget)>)> sanitizingMethods, 22ImmutableHashSet<string> sanitizingInstanceMethods) 63public ImmutableHashSet<(MethodMatcher MethodMatcher, ImmutableHashSet<(string IfTaintedParameter, string ThenUnTaintedTarget)>)> SanitizingMethods { get; } 68public ImmutableHashSet<string> SanitizingInstanceMethods { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SinkInfo.cs (6)
18public SinkInfo(string fullTypeName, ImmutableHashSet<SinkKind> sinkKinds, bool isInterface, bool isAnyStringParameterInConstructorASink, ImmutableHashSet<string> sinkProperties, ImmutableDictionary<string, ImmutableHashSet<string>> sinkMethodParameters) 36public ImmutableHashSet<SinkKind> SinkKinds { get; } 51public ImmutableHashSet<string> SinkProperties { get; } 56public ImmutableDictionary<string, ImmutableHashSet<string>> SinkMethodParameters { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SourceInfo.cs (22)
42ImmutableHashSet<string> taintedProperties, 43ImmutableHashSet<ParameterMatcher> taintedArguments, 44ImmutableHashSet<(MethodMatcher, ImmutableHashSet<string>)> taintedMethods, 45ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(PointsToCheck, string)>)> taintedMethodsNeedsPointsToAnalysis, 46ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(ValueContentCheck, string)>)> taintedMethodsNeedsValueContentAnalysis, 47ImmutableHashSet<string> transferProperties, 48ImmutableHashSet<(MethodMatcher, ImmutableHashSet<(string, string)>)> transferMethods, 90public ImmutableHashSet<string> TransferProperties { get; } 95public ImmutableHashSet<string> TaintedProperties { get; } 101public ImmutableHashSet<(MethodMatcher MethodMatcher, ImmutableHashSet<string> TaintedTargets)> TaintedMethods { get; } 106public ImmutableHashSet<ParameterMatcher> TaintedArguments { get; } 129public ImmutableHashSet<(MethodMatcher MethodMatcher, ImmutableHashSet<(PointsToCheck PointsToCheck, string TaintedTarget)>)> TaintedMethodsNeedsPointsToAnalysis { get; } 152public ImmutableHashSet<(MethodMatcher MethodMatcher, ImmutableHashSet<(ValueContentCheck ValueContentCheck, string TaintedTarget)>)> TaintedMethodsNeedsValueContentAnalysis { get; } 171public ImmutableHashSet<(MethodMatcher MethodMatcher, ImmutableHashSet<(string IfTaintedParameter, string ThenTaintedTarget)>)> TransferMethods { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\SqlSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\StringTransferSources.cs (1)
16public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAbstractValue.cs (3)
20public static readonly TaintedDataAbstractValue NotTainted = new(TaintedDataAbstractValueKind.NotTainted, ImmutableHashSet<SymbolAccess>.Empty); 22private TaintedDataAbstractValue(TaintedDataAbstractValueKind kind, ImmutableHashSet<SymbolAccess> sourceOrigins) 36public ImmutableHashSet<SymbolAccess> SourceOrigins { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (10)
35private Dictionary<SymbolAccess, (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SymbolAccess>.Builder SourceOrigins)> TaintedSourcesBySink { get; } 47foreach (KeyValuePair<SymbolAccess, (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SymbolAccess>.Builder SourceOrigins)> kvp in this.TaintedSourcesBySink) 542if (!this.TaintedSourcesBySink.TryGetValue(sink, out (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SymbolAccess>.Builder SourceOrigins) data)) 586out (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SymbolAccess>.Builder SourceOrigins) data)) 645foreach ((MethodMatcher methodMatcher, ImmutableHashSet<(string source, string end)> sourceToEnds) in sanitizerInfo.SanitizingMethods) 701else if (sinkInfo.SinkMethodParameters.TryGetValue(method.MetadataName, out var sinkParameters)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataConfig.cs (28)
33private static ImmutableDictionary<SinkKind, ImmutableHashSet<SourceInfo>> s_sinkKindToSourceInfo 34= ImmutableDictionary.Create<SinkKind, ImmutableHashSet<SourceInfo>>(); 39private static ImmutableDictionary<SinkKind, ImmutableHashSet<SanitizerInfo>> s_sinkKindToSanitizerInfo 40= ImmutableDictionary.Create<SinkKind, ImmutableHashSet<SanitizerInfo>>(); 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); 116ImmutableHashSet<SourceInfo> sources = GetSourceInfos(sinkKind); 127ImmutableHashSet<SanitizerInfo> sanitizers = GetSanitizerInfos(sinkKind); 138ImmutableHashSet<SinkInfo> sinks = GetSinkInfos(sinkKind); 139if (!sourceSanitizersToSinks.TryGetValue((sources, sanitizers), out (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos) sinksPair)) 149foreach (KeyValuePair<(ImmutableHashSet<SourceInfo> SourceInfos, ImmutableHashSet<SanitizerInfo> SanitizerInfos), (ImmutableHashSet<SinkKind>.Builder SinkKinds, ImmutableHashSet<SinkInfo>.Builder SinkInfos)> kvp in sourceSanitizersToSinks) 151ImmutableHashSet<SinkInfo> sinks = kvp.Value.SinkInfos.ToImmutable(); 205private static ImmutableHashSet<SourceInfo> GetSourceInfos(SinkKind sinkKind) 207if (s_sinkKindToSourceInfo.TryGetValue(sinkKind, out var sourceInfo)) 252return ImmutableHashSet<SourceInfo>.Empty; 258private static ImmutableHashSet<SanitizerInfo> GetSanitizerInfos(SinkKind sinkKind) 260if (s_sinkKindToSanitizerInfo.TryGetValue(sinkKind, out var sanitizerInfo)) 308return ImmutableHashSet<SanitizerInfo>.Empty; 314private static ImmutableHashSet<SinkInfo> GetSinkInfos(SinkKind sinkKind) 363return ImmutableHashSet<SinkInfo>.Empty;
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSourceSink.cs (4)
15public TaintedDataSourceSink(SymbolAccess sink, ImmutableHashSet<SinkKind> sinkKinds, ImmutableHashSet<SymbolAccess> sourceOrigins) 30public ImmutableHashSet<SinkKind> SinkKinds { get; } 35public ImmutableHashSet<SymbolAccess> SourceOrigins { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataSymbolMapExtensions.cs (4)
47foreach ((MethodMatcher methodMatcher, ImmutableHashSet<string> taintedTargets) in sourceInfo.TaintedMethods) 57foreach ((MethodMatcher methodMatcher, ImmutableHashSet<(PointsToCheck pointsToCheck, string)> pointsToTaintedTargets) in sourceInfo.TaintedMethodsNeedsPointsToAnalysis) 80foreach ((MethodMatcher methodMatcher, ImmutableHashSet<(ValueContentCheck valueContentCheck, string)> valueContentTaintedTargets) in sourceInfo.TaintedMethodsNeedsValueContentAnalysis) 192foreach ((MethodMatcher methodMatcher, ImmutableHashSet<(string source, string end)> sourceToEnds) in sourceInfo.TransferMethods)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebInputSources.cs (1)
20public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\WebOutputSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XamlSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XmlSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XPathSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\XssSanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSanitizers.cs (1)
15public static ImmutableHashSet<SanitizerInfo> SanitizerInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSinks.cs (1)
15public static ImmutableHashSet<SinkInfo> SinkInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\ZipSlipSources.cs (1)
15public static ImmutableHashSet<SourceInfo> SourceInfos { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Analysis\ValueContentAnalysis\ValueContentAbstractValue.cs (10)
26public static ValueContentAbstractValue UndefinedState { get; } = new ValueContentAbstractValue(ImmutableHashSet<object?>.Empty, ValueContainsNonLiteralState.Undefined); 27public static ValueContentAbstractValue InvalidState { get; } = new ValueContentAbstractValue(ImmutableHashSet<object?>.Empty, ValueContainsNonLiteralState.Invalid); 28public static ValueContentAbstractValue MayBeContainsNonLiteralState { get; } = new ValueContentAbstractValue(ImmutableHashSet<object?>.Empty, ValueContainsNonLiteralState.Maybe); 29public static ValueContentAbstractValue DoesNotContainLiteralOrNonLiteralState { get; } = new ValueContentAbstractValue(ImmutableHashSet<object?>.Empty, ValueContainsNonLiteralState.No); 37private ValueContentAbstractValue(ImmutableHashSet<object?> literalValues, ValueContainsNonLiteralState nonLiteralState) 80private static ValueContentAbstractValue Create(ImmutableHashSet<object?> literalValues, ValueContainsNonLiteralState nonLiteralState) 148public ImmutableHashSet<object?> LiteralValues { get; } 174ImmutableHashSet<object?> mergedLiteralValues = ImmutableHashSetExtensions.AddRange(LiteralValues, otherState.LiteralValues); 245var mergedLiteralValues = this.LiteralValues.Intersect(value2.LiteralValues); 280ImmutableHashSet<object?> mergedLiteralValues = builder.ToImmutableAndFree();
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AbstractLocationDataFlowOperationVisitor.cs (2)
92protected abstract void EscapeValueForParameterPointsToLocationOnExit(IParameterSymbol parameter, AnalysisEntity analysisEntity, ImmutableHashSet<AbstractLocation> escapedLocations); 110var escapedLocationsForParameter = GetEscapedLocations(analysisEntity);
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AddressSharedEntitiesProvider.cs (2)
49var addressSharedEntities = ComputeAddressSharedEntities(); 58ImmutableHashSet<AnalysisEntity> ComputeAddressSharedEntities()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\AnalysisEntityDataFlowOperationVisitor.cs (7)
397private ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(AnalysisEntity analysisEntity) 403return ImmutableHashSet<AnalysisEntity>.Empty; 428protected ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(PointsToAbstractValue? instanceLocation) 433private ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(PointsToAbstractValue? instanceLocation, Func<AnalysisEntity, bool>? predicate) 438return ImmutableHashSet<AnalysisEntity>.Empty; 453private ImmutableHashSet<AnalysisEntity> GetChildAnalysisEntities(Func<AnalysisEntity, bool> predicate) 759private void HandleDeconstructionAssignment(IOperation target, ImmutableHashSet<AnalysisEntity> childEntities)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\DataFlowOperationVisitor.cs (20)
46private readonly ImmutableHashSet<CaptureId> _lValueFlowCaptures; 55private ImmutableHashSet<IMethodSymbol>? _lazyContractCheckMethods; 65private readonly ImmutableHashSet<IMethodSymbol>.Builder _escapedLocalFunctions; 70private readonly ImmutableHashSet<IMethodSymbol>.Builder _analyzedLocalFunctions; 75private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _escapedLambdas; 80private readonly ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder _analyzedLambdas; 1127protected ImmutableHashSet<AbstractLocation> GetEscapedLocations(IOperation operation) 1131return ImmutableHashSet<AbstractLocation>.Empty; 1139protected ImmutableHashSet<AbstractLocation> GetEscapedLocations(AnalysisEntity parameterEntity) 1144return ImmutableHashSet<AbstractLocation>.Empty; 2233var currentMethodsBeingAnalyzed = DataFlowAnalysisContext.InterproceduralAnalysisData?.MethodsBeingAnalyzed ?? ImmutableHashSet<TAnalysisContext>.Empty; 2234var newMethodsBeingAnalyzed = currentMethodsBeingAnalyzed.Add(DataFlowAnalysisContext); 2738var currentMethodsBeingAnalyzed = DataFlowAnalysisContext.InterproceduralAnalysisData?.MethodsBeingAnalyzed ?? ImmutableHashSet<TAnalysisContext>.Empty; 2739var newMethodsBeingAnalyzed = currentMethodsBeingAnalyzed.Add(DataFlowAnalysisContext); 3175value = VisitInvocation_LambdaOrDelegateOrLocalFunction(operation, argument, out var resolvedMethodTargetsOpt); 3438out ImmutableHashSet<(IMethodSymbol method, IOperation? instance)>? resolvedMethodTargets) 4194protected ImmutableHashSet<INamedTypeSymbol> CollectionNamedTypes { get; } 4198private ImmutableHashSet<INamedTypeSymbol> GetWellKnownCollectionTypes()
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\InterproceduralAnalysisData.cs (2)
37ImmutableHashSet<TAnalysisContext> methodsBeingAnalyzed, 64public ImmutableHashSet<TAnalysisContext> MethodsBeingAnalyzed { get; }
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LambdaAndLocalFunctionAnalysisInfo.cs (8)
18public ImmutableHashSet<IMethodSymbol> EscapedLocalFunctions { get; } 23public ImmutableHashSet<IMethodSymbol> AnalyzedLocalFunctions { get; } 28public ImmutableHashSet<IFlowAnonymousFunctionOperation> EscapedLambdas { get; } 33public ImmutableHashSet<IFlowAnonymousFunctionOperation> AnalyzedLambdas { get; } 36ImmutableHashSet<IMethodSymbol>.Builder escapedLocalFunctions, 37ImmutableHashSet<IMethodSymbol>.Builder analyzedLocalFunctions, 38ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder escapedLambdas, 39ImmutableHashSet<IFlowAnonymousFunctionOperation>.Builder analyzedLambdas)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\LValueFlowCapturesProvider.cs (3)
23private static readonly ConditionalWeakTable<ControlFlowGraph, ImmutableHashSet<CaptureId>> s_lValueFlowCapturesCache = new(); 25public static ImmutableHashSet<CaptureId> GetOrCreateLValueFlowCaptures(ControlFlowGraph cfg) 28private static ImmutableHashSet<CaptureId> CreateLValueFlowCaptures(ControlFlowGraph cfg)
src\RoslynAnalyzers\Utilities\FlowAnalysis\FlowAnalysis\Framework\DataFlow\SetAbstractDomain.cs (14)
11public class SetAbstractDomain<T> : AbstractDomain<ImmutableHashSet<T>> 17public override ImmutableHashSet<T> Bottom => ImmutableHashSet<T>.Empty; 19public override int Compare(ImmutableHashSet<T> oldValue, ImmutableHashSet<T> newValue, bool assertMonotonicity) 51public override ImmutableHashSet<T> Merge(ImmutableHashSet<T> value1, ImmutableHashSet<T> value2) => MergeOrIntersect(value1, value2, merge: true); 53public ImmutableHashSet<T> Intersect(ImmutableHashSet<T> value1, ImmutableHashSet<T> value2) => MergeOrIntersect(value1, value2, merge: false); 55private static ImmutableHashSet<T> MergeOrIntersect(ImmutableHashSet<T> value1, ImmutableHashSet<T> value2, bool merge)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Microsoft.CodeAnalysis.BannedApiAnalyzers (186)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.CodeStyle (124)
src\Analyzers\Core\Analyzers\AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs (3)
66ImmutableHashSet<IOption2> options, 95protected AbstractBuiltInCodeStyleDiagnosticAnalyzer(ImmutableArray<(DiagnosticDescriptor Descriptor, ImmutableHashSet<IOption2> Options)> supportedDiagnosticsWithOptions) 115private static void AddDiagnosticIdToOptionMapping(string diagnosticId, ImmutableHashSet<IOption2> options)
src\Analyzers\Core\Analyzers\AbstractBuiltInUnnecessaryCodeStyleDiagnosticAnalyzer.cs (2)
73ImmutableHashSet<IOption2> options, 112protected AbstractBuiltInUnnecessaryCodeStyleDiagnosticAnalyzer(ImmutableArray<(DiagnosticDescriptor Descriptor, ImmutableHashSet<IOption2> Options)> supportedDiagnosticsWithOptions, PerLanguageOption2<bool>? fadingOption)
src\Analyzers\Core\Analyzers\IDEDiagnosticIdToOptionMappingHelper.cs (9)
22private static readonly ConcurrentDictionary<string, ImmutableHashSet<IOption2>> s_diagnosticIdToOptionMap = new(); 23private static readonly ConcurrentDictionary<string, ConcurrentDictionary<string, ImmutableHashSet<IOption2>>> s_diagnosticIdToLanguageSpecificOptionsMap = new(); 26public static bool TryGetMappedOptions(string diagnosticId, string language, [NotNullWhen(true)] out ImmutableHashSet<IOption2>? options) 34public static ImmutableHashSet<string> KnownIDEDiagnosticIds 38public static void AddOptionMapping(string diagnosticId, ImmutableHashSet<IOption2> options) 70var map = s_diagnosticIdToLanguageSpecificOptionsMap.GetOrAdd(language, _ => new ConcurrentDictionary<string, ImmutableHashSet<IOption2>>()); 83private static void AddOptionMapping(ConcurrentDictionary<string, ImmutableHashSet<IOption2>> map, string diagnosticId, ImmutableHashSet<IOption2> options) 87Debug.Assert(!map.TryGetValue(diagnosticId, out var existingOptions) || options.SetEquals(existingOptions));
src\Analyzers\Core\Analyzers\ParenthesesDiagnosticAnalyzersHelper.cs (1)
15internal static ImmutableHashSet<IOption2> Options =
src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (5)
36private readonly Lazy<ImmutableHashSet<int>> _lazySupportedCompilerErrorCodes; 41_lazySupportedCompilerErrorCodes = new Lazy<ImmutableHashSet<int>>(GetSupportedCompilerErrorCodes); 51private ImmutableHashSet<int> GetSupportedCompilerErrorCodes() 182var idsToAnalyze = idsToAnalyzeBuilder.ToImmutableHashSet(); 390ImmutableHashSet<string> idsToAnalyze,
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
145private readonly ImmutableHashSet<INamedTypeSymbol?> _attributeSetForMethodsToIgnore;
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (3)
26ImmutableHashSet<INamedTypeSymbol> attributeSetForMethodsToIgnore, 34private readonly ImmutableHashSet<INamedTypeSymbol> _attributeSetForMethodsToIgnore = attributeSetForMethodsToIgnore; 51var attributeSetForMethodsToIgnore = ImmutableHashSet.CreateRange(GetAttributesForMethodsToIgnore(context.Compilation).WhereNotNull());
src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (2)
25private static readonly ImmutableHashSet<string> s_nonEnumerableReturningLinqPredicateMethodNames = 36private static readonly ImmutableHashSet<string> s_nonEnumerableReturningLinqSelectorMethodNames =
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Microsoft.CodeAnalysis.CodeStyle.Fixes (2)
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
89var projects = solution.Projects.ToImmutableHashSet();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.Collections.Package (68)
Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Microsoft.CodeAnalysis.CSharp (130)
Binder\Binder_Statements.cs (1)
32internal virtual ImmutableHashSet<Symbol> LockedOrDisposedVariables
Binder\BuckStopsHereBinder.cs (1)
252internal override ImmutableHashSet<Symbol> LockedOrDisposedVariables
Binder\LockOrUsingBinder.cs (3)
21private ImmutableHashSet<Symbol> _lazyLockedOrDisposedVariables; 31internal sealed override ImmutableHashSet<Symbol> LockedOrDisposedVariables 37ImmutableHashSet<Symbol> lockedOrDisposedVariables = this.Next.LockedOrDisposedVariables;
Binder\Semantics\OverloadResolution\CallingConventionInfo.cs (2)
13internal readonly ImmutableHashSet<CustomModifier>? UnmanagedCallingConventionTypes; 15public CallingConventionInfo(Cci.CallingConvention callKind, ImmutableHashSet<CustomModifier> unmanagedCallingConventionTypes)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (8)
696ImmutableHashSet<INamedTypeSymbolInternal> actualUnmanagedCallingConventionTypes; 701actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 714var unmanagedCallingConventionTypes = unmanagedCallersOnlyData.CallingConventionTypes; 721actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 728actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 732actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 736actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 740actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty;
Binder\SwitchBinder_Patterns.cs (2)
77var reachableLabels = decisionDag.ReachableLabels; 78static bool isSubsumed(BoundSwitchLabel switchLabel, ImmutableHashSet<LabelSymbol> reachableLabels)
Binder\SwitchExpressionBinder.cs (1)
64var reachableLabels = decisionDag.ReachableLabels;
BoundTree\BoundDecisionDag.cs (2)
21private ImmutableHashSet<LabelSymbol> _reachableLabels; 46public ImmutableHashSet<LabelSymbol> ReachableLabels
Compilation\CSharpCompilation.cs (7)
143private ImmutableHashSet<SyntaxTree>? _usageOfUsingsRecordedInTrees = ImmutableHashSet<SyntaxTree>.Empty; 145internal ImmutableHashSet<SyntaxTree>? UsageOfUsingsRecordedInTrees => Volatile.Read(ref _usageOfUsingsRecordedInTrees); 3198var trackingSet = UsageOfUsingsRecordedInTrees; 3241var current = UsageOfUsingsRecordedInTrees; 3250var updated = current.Add(tree); 3263var recent = Interlocked.CompareExchange(ref _usageOfUsingsRecordedInTrees, updated, current);
Errors\ErrorFacts.cs (2)
22public static readonly ImmutableHashSet<string> NullableWarnings; 26ImmutableHashSet<string>.Builder nullableWarnings = ImmutableHashSet.CreateBuilder<string>();
FlowAnalysis\AbstractFlowPass.cs (1)
960var reachableLabels = node.ReachabilityDecisionDag.ReachableLabels;
FlowAnalysis\AbstractFlowPass_Switch.cs (2)
46var reachableLabels = node.ReachabilityDecisionDag.ReachableLabels; 160var reachableLabels = node.ReachabilityDecisionDag.ReachableLabels;
FlowAnalysis\NullableWalker.cs (3)
1403private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam) 7352ImmutableHashSet<string>? returnNotNullIfParameterNotNull = IsAnalyzingAttribute ? null : method?.ReturnNotNullIfParameterNotNull; 8097var notNullIfParameterNotNull = parameter.NotNullIfParameterNotNull;
Lowering\ClosureConversion\ClosureConversion.cs (1)
152private readonly ImmutableHashSet<Symbol> _allCapturedVariables;
Lowering\IteratorRewriter\IteratorFinallyMethodSymbol.cs (2)
152public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Lowering\SynthesizedMethodBaseSymbol.cs (1)
197public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => BaseMethod.ReturnNotNullIfParameterNotNull;
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.SynthesizedMethodBase.cs (2)
106public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Attributes\WellKnownAttributeData\ParameterWellKnownAttributeData.cs (3)
145private ImmutableHashSet<string> _notNullIfParameterNotNull = ImmutableHashSet<string>.Empty; 146public ImmutableHashSet<string> NotNullIfParameterNotNull
Symbols\Attributes\WellKnownAttributeData\ReturnTypeWellKnownAttributeData.cs (3)
46private ImmutableHashSet<string> _notNullIfParameterNotNull = ImmutableHashSet<string>.Empty; 47public ImmutableHashSet<string> NotNullIfParameterNotNull
Symbols\ErrorMethodSymbol.cs (2)
177public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\FunctionPointers\FunctionPointerMethodSymbol.cs (6)
21private ImmutableHashSet<CustomModifier>? _lazyCallingConventionModifiers; 667public ImmutableHashSet<CustomModifier> GetCallingConventionModifiers() 674_lazyCallingConventionModifiers = ImmutableHashSet<CustomModifier>.Empty; 689_lazyCallingConventionModifiers = ImmutableHashSet<CustomModifier>.Empty; 846public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\FunctionPointers\FunctionPointerParameterSymbol.cs (2)
92internal override ImmutableHashSet<string> NotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Metadata\PE\PEMethodSymbol.cs (1)
668public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => Signature.ReturnParam.NotNullIfParameterNotNull;
Symbols\Metadata\PE\PEParameterSymbol.cs (1)
932internal override ImmutableHashSet<string> NotNullIfParameterNotNull
Symbols\MethodSymbol.cs (4)
253public abstract ImmutableHashSet<string> ReturnNotNullIfParameterNotNull { get; } 993internal static (bool IsCallConvs, ImmutableHashSet<INamedTypeSymbolInternal>? CallConvs) TryDecodeUnmanagedCallersOnlyCallConvsField( 1000ImmutableHashSet<INamedTypeSymbolInternal>? callingConventionTypes = null; 1009callingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty;
Symbols\ParameterSymbol.cs (1)
416internal abstract ImmutableHashSet<string> NotNullIfParameterNotNull { get; }
Symbols\ReducedExtensionMethodSymbol.cs (1)
501public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => _reducedFrom.ReturnNotNullIfParameterNotNull;
Symbols\SignatureOnlyMethodSymbol.cs (2)
81public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\SignatureOnlyParameterSymbol.cs (1)
97internal override ImmutableHashSet<string> NotNullIfParameterNotNull { get { throw ExceptionUtilities.Unreachable(); } }
Symbols\Source\ConstantEvaluationHelpers.cs (5)
88public ImmutableHashSet<T> Dependencies; 93public ImmutableHashSet<T> DependedOnBy; 124node.DependedOnBy = ImmutableHashSet<SourceFieldSymbolWithSyntaxReference>.Empty; 127var dependencies = field.GetConstantValueDependencies(earlyDecodingWellKnownAttributes); 144node.DependedOnBy = ImmutableHashSet<SourceFieldSymbolWithSyntaxReference>.Empty;
Symbols\Source\SourceClonedParameterSymbol.cs (2)
157internal override ImmutableHashSet<string> NotNullIfParameterNotNull 159get { return ImmutableHashSet<string>.Empty; }
Symbols\Source\SourceComplexParameterSymbol.cs (2)
198internal override ImmutableHashSet<string> NotNullIfParameterNotNull 199=> GetDecodedWellKnownAttributeData()?.NotNullIfParameterNotNull ?? ImmutableHashSet<string>.Empty;
Symbols\Source\SourceFieldSymbol.cs (5)
280internal ImmutableHashSet<SourceFieldSymbolWithSyntaxReference> GetConstantValueDependencies(bool earlyDecodingWellKnownAttributes) 288return ImmutableHashSet<SourceFieldSymbolWithSyntaxReference>.Empty; 291ImmutableHashSet<SourceFieldSymbolWithSyntaxReference> dependencies; 310dependencies = ImmutableHashSet<SourceFieldSymbolWithSyntaxReference>.Empty; 314dependencies = ImmutableHashSet<SourceFieldSymbolWithSyntaxReference>.Empty.Union(builder);
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
1329TypeWithAnnotations getNotNullIfNotNullOutputType(TypeWithAnnotations outputType, ImmutableHashSet<string> notNullIfParameterNotNull)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (3)
111public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull 112=> GetDecodedReturnTypeWellKnownAttributeData()?.NotNullIfParameterNotNull ?? ImmutableHashSet<string>.Empty; 1444ImmutableHashSet<CodeAnalysis.Symbols.INamedTypeSymbolInternal>? callingConventionTypes = null;
Symbols\Source\SourcePropertyAccessorSymbol.cs (2)
377public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Source\SourceSimpleParameterSymbol.cs (2)
137internal override ImmutableHashSet<string> NotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Source\ThisParameterSymbol.cs (2)
83internal sealed override ImmutableHashSet<string> NotNullIfParameterNotNull 85get { return ImmutableHashSet<string>.Empty; }
Symbols\Symbol.cs (1)
1166var secondaryDependencies = result.SecondaryDependencies;
Symbols\Synthesized\SynthesizedAccessorValueParameterSymbol.cs (2)
54internal override ImmutableHashSet<string> NotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedDelegateSymbol.cs (2)
169public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
147public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedGlobalMethodSymbol.cs (2)
122public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedImplementationMethod.cs (2)
108public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedInstanceConstructor.cs (2)
161public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedInteractiveInitializerMethod.cs (2)
151public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedIntrinsicOperatorSymbol.cs (2)
235public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedParameterSymbol.cs (3)
123internal override ImmutableHashSet<string> NotNullIfParameterNotNull 125get { return ImmutableHashSet<string>.Empty; } 428internal override ImmutableHashSet<string> NotNullIfParameterNotNull
Symbols\Synthesized\SynthesizedSealedPropertyAccessor.cs (2)
199public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedSimpleProgramEntryPointSymbol.cs (2)
165public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\Synthesized\SynthesizedStaticConstructor.cs (2)
145public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\TypeSymbol.cs (5)
42private ImmutableHashSet<Symbol> _lazyAbstractMembers; 2397internal ImmutableHashSet<Symbol> AbstractMembers 2409private ImmutableHashSet<Symbol> ComputeAbstractMembers() 2411var abstractMembers = ImmutableHashSet.Create<Symbol>(); 2412var overriddenMembers = ImmutableHashSet.Create<Symbol>();
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
324public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => UnderlyingMethod.ReturnNotNullIfParameterNotNull;
Symbols\Wrapped\WrappedParameterSymbol.cs (1)
155internal override ImmutableHashSet<string> NotNullIfParameterNotNull
Utilities\ValueSetFactory.EnumeratedValueSet.cs (5)
30private readonly ImmutableHashSet<T> _membersIncludedOrExcluded; 34private EnumeratedValueSet(bool included, ImmutableHashSet<T> membersIncludedOrExcluded, IEquatableValueTC<T> tc) => 38=> new EnumeratedValueSet<T>(included: false, ImmutableHashSet<T>.Empty, tc); 41=> new EnumeratedValueSet<T>(included: true, ImmutableHashSet<T>.Empty, tc); 44=> new EnumeratedValueSet<T>(included: true, ImmutableHashSet<T>.Empty.Add(value), tc);
Microsoft.CodeAnalysis.CSharp.Analyzers (2)
MetaAnalyzers\CSharpReportDiagnosticAnalyzer.cs (2)
17protected override ReportDiagnosticCompilationAnalyzer GetAnalyzer(ImmutableHashSet<INamedTypeSymbol> contextTypes, INamedTypeSymbol diagnosticType, INamedTypeSymbol diagnosticDescriptorType, INamedTypeSymbol diagnosticAnalyzer, INamedTypeSymbol diagnosticAnalyzerAttribute) 24public CSharpReportDiagnosticCompilationAnalyzer(ImmutableHashSet<INamedTypeSymbol> contextTypes, INamedTypeSymbol diagnosticType, INamedTypeSymbol diagnosticDescriptorType, INamedTypeSymbol diagnosticAnalyzer, INamedTypeSymbol diagnosticAnalyzerAttribute)
Microsoft.CodeAnalysis.CSharp.CodeStyle (6)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (1)
57nameof(ImmutableHashSet<>),
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
41public static readonly ImmutableHashSet<string?> BannedTypes = [
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
400var delegateTypeParamNames = delegateType.GetAllTypeParameters().Select(p => p.Name).ToImmutableHashSet();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (3)
129public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken) 146private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 159private static void AppendAliasNames(IEnumerable<BaseNamespaceDeclarationSyntax> namespaces, ImmutableHashSet<string>.Builder builder, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
48var documentImmutableSet = ImmutableHashSet.Create(document);
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
128var namedTypeDocuments = typeDeclarationNodes.Select(r => solution.GetRequiredDocument(r.SyntaxTree)).ToImmutableHashSet();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
249var referencedTypeParameters = method.Parameters
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
103var documents = namedType.DeclaringSyntaxReferences
Microsoft.CodeAnalysis.CSharp.CodeStyle.UnitTests (2)
src\Analyzers\CSharp\Tests\AbstractBuiltInCodeStyleDiagnosticAnalyzer\AbstractBuiltInCodeStyleDiagnosticAnalyzerTests.cs (2)
35private static ImmutableArray<(DiagnosticDescriptor, ImmutableHashSet<IOption2>)> CreateSupportedDiagnosticsWithOptionsFromIds(IEnumerable<string> ids) 37var builder = ImmutableArray.CreateBuilder<(DiagnosticDescriptor, ImmutableHashSet<IOption2>)>();
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (9)
NavigateTo\NavigateToSearcherTests.cs (9)
45ImmutableHashSet<string>.Empty, 68ImmutableHashSet<string>.Empty, 95ImmutableHashSet<string>.Empty, 148kinds: ImmutableHashSet<string>.Empty, 188kinds: ImmutableHashSet<string>.Empty, 225kinds: ImmutableHashSet<string>.Empty, 262kinds: ImmutableHashSet<string>.Empty, 293kinds: ImmutableHashSet<string>.Empty, 351kinds: ImmutableHashSet<string>.Empty,
Microsoft.CodeAnalysis.CSharp.Features (40)
Completion\CompletionProviders\AttributeNamedParameterCompletionProvider.cs (1)
49public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\AwaitCompletionProvider.cs (1)
31public override ImmutableHashSet<char> TriggerCharacters => CompletionUtilities.CommonTriggerCharactersWithArgumentList;
Completion\CompletionProviders\CompletionUtilities.cs (3)
111internal static ImmutableHashSet<char> CommonTriggerCharacters { get; } = ['.', '#', '>', ':']; 113internal static ImmutableHashSet<char> CommonTriggerCharactersWithArgumentList { get; } = ['.', '#', '>', ':', '(', '[', ' ']; 132internal static ImmutableHashSet<char> SpaceTriggerCharacter => [' '];
Completion\CompletionProviders\CrefCompletionProvider.cs (1)
56public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\DeclarationName\DeclarationNameCompletionProvider.cs (1)
38public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (1)
290var currentParameterNames = baseMethod.ParameterList.Parameters.Select(p => p.Identifier.ValueText).ToImmutableHashSet();
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (2)
38private static readonly ImmutableHashSet<char> s_triggerCharacters = [' ', '[', '(', '~']; 55public override ImmutableHashSet<char> TriggerCharacters => s_triggerCharacters;
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.cs (1)
34public override ImmutableHashSet<char> TriggerCharacters { get; } = ['.'];
Completion\CompletionProviders\ExplicitInterfaceTypeCompletionProvider.cs (1)
37public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\ExternAliasCompletionProvider.cs (1)
37public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
39public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\ImportCompletion\ExtensionMethodImportCompletionProvider.cs (1)
33public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\ImportCompletion\TypeImportCompletionProvider.cs (1)
36public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\KeywordCompletionProvider.cs (1)
178public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters.Add(' ');
Completion\CompletionProviders\NamedParameterCompletionProvider.cs (1)
51public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\ObjectAndWithInitializerCompletionProvider.cs (1)
100public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters.Add(' ');
Completion\CompletionProviders\ObjectCreationCompletionProvider.cs (1)
39public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider.cs (1)
62public override ImmutableHashSet<char> TriggerCharacters => ['.'];
Completion\CompletionProviders\OverrideCompletionProvider.cs (1)
41public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\PartialMethodCompletionProvider.cs (1)
74public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\PartialTypeCompletionProvider.cs (1)
52public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\PreprocessorCompletionProvider.cs (1)
31public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\PropertySubPatternCompletionProvider.cs (1)
167public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters.Add(' ');
Completion\CompletionProviders\SnippetCompletionProvider.cs (1)
71public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\SpeculativeTCompletionProvider.cs (1)
38public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharacters;
Completion\CompletionProviders\SymbolCompletionProvider.cs (1)
70public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.CommonTriggerCharactersWithArgumentList;
Completion\CompletionProviders\TupleNameCompletionProvider.cs (1)
123public override ImmutableHashSet<char> TriggerCharacters => [];
Completion\CompletionProviders\XmlDocCommentCompletionProvider.cs (1)
67public override ImmutableHashSet<char> TriggerCharacters { get; } = ['<', '"', ' '];
ConvertPrimaryToRegularConstructor\ConvertPrimaryToRegularConstructorCodeRefactoringProvider.cs (3)
114var initializedFieldsAndProperties = await GetExistingAssignedFieldsOrPropertiesAsync().ConfigureAwait(false); 143var documentsToSearch = namedType.DeclaringSyntaxReferences 217async Task<ImmutableHashSet<(ISymbol fieldOrProperty, EqualsValueClauseSyntax initializer)>> GetExistingAssignedFieldsOrPropertiesAsync()
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.cs (1)
22private static readonly ImmutableHashSet<string> s_predefinedTypeMetadataNames =
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (1)
57nameof(ImmutableHashSet<>),
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
41public static readonly ImmutableHashSet<string?> BannedTypes = [
src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
400var delegateTypeParamNames = delegateType.GetAllTypeParameters().Select(p => p.Name).ToImmutableHashSet();
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
48var documentImmutableSet = ImmutableHashSet.Create(document);
src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorCodeFixProvider.cs (1)
128var namedTypeDocuments = typeDeclarationNodes.Select(r => solution.GetRequiredDocument(r.SyntaxTree)).ToImmutableHashSet();
Microsoft.CodeAnalysis.CSharp.Features.UnitTests (2)
src\Analyzers\CSharp\Tests\AbstractBuiltInCodeStyleDiagnosticAnalyzer\AbstractBuiltInCodeStyleDiagnosticAnalyzerTests.cs (2)
35private static ImmutableArray<(DiagnosticDescriptor, ImmutableHashSet<IOption2>)> CreateSupportedDiagnosticsWithOptionsFromIds(IEnumerable<string> ids) 37var builder = ImmutableArray.CreateBuilder<(DiagnosticDescriptor, ImmutableHashSet<IOption2>)>();
Microsoft.CodeAnalysis.CSharp.Workspaces (6)
Rename\CSharpRenameRewriterLanguageService.cs (1)
55private readonly ImmutableHashSet<TextSpan> _conflictLocations;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (3)
129public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken) 146private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 159private static void AppendAliasNames(IEnumerable<BaseNamespaceDeclarationSyntax> namespaces, ImmutableHashSet<string>.Builder builder, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
249var referencedTypeParameters = method.Parameters
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
103var documents = namedType.DeclaringSyntaxReferences
Microsoft.CodeAnalysis.EditorFeatures (5)
IntelliSense\AsyncCompletion\CompletionSource.cs (1)
61private readonly ImmutableHashSet<string> _roles;
NavigateTo\NavigateToItemProvider.cs (1)
46public ImmutableHashSet<string> KindsProvided
ReferenceHighlighting\ReferenceHighlightingViewTaggerProvider.cs (1)
160var documentsToSearch = documentsToSearchBuilder.ToImmutable();
Workspaces\AbstractTextBufferVisibilityTracker.cs (2)
144/// <see cref="ImmutableHashSet{T}"/> so we can enumerate it safely without it changing underneath us. 146public ImmutableHashSet<Action> Callbacks { get; private set; } = [];
Microsoft.CodeAnalysis.EditorFeatures.Test.Utilities (1)
Completion\AbstractCompletionProviderTests.cs (1)
113internal static ImmutableHashSet<string> GetRoles(Document document)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (9)
CodeActions\CodeChangeProviderMetadataTests.cs (5)
91var predefinedNames = GetPredefinedNamesFromType(predefinedNamesType); 118var predefinedNames = GetPredefinedNamesFromType(predefinedNamesType); 122var providerNames = exportedProviders 130var unusedPredefinedNames = predefinedNames.Except(providerNames); 152private static ImmutableHashSet<string> GetPredefinedNamesFromType(Type namesType)
CodeFixes\CodeFixServiceTests.cs (1)
1078var deprioritizedIds = await analyzerService.GetTestAccessor().GetDeprioritizedDiagnosticIdsAsync(sourceDocument.Project);
Diagnostics\IDEDiagnosticIDConfigurationTests.cs (3)
25private static ImmutableArray<(string diagnosticId, ImmutableHashSet<IOption2> codeStyleOptions)> GetIDEDiagnosticIdsAndOptions( 28var diagnosticIdAndOptions = new List<(string diagnosticId, ImmutableHashSet<IOption2> options)>(); 49if (!IDEDiagnosticIdToOptionMappingHelper.TryGetMappedOptions(diagnosticId, languageName, out var options))
Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver (2)
VisualBasic\Keywords.cs (1)
16private static ImmutableHashSet<string> GetKeywords(StringComparer comparer)
VisualBasic\MemberSignatureParser.cs (1)
17internal static readonly ImmutableHashSet<string> Keywords = GetKeywords(StringComparer);
Microsoft.CodeAnalysis.ExpressionEvaluator.FunctionResolver.UnitTests (2)
VisualBasicParsingTests.cs (2)
36var actualKeywordKinds = builder.ToImmutable(); 37var expectedKeywordKinds = ImmutableHashSet.CreateRange(SyntaxFacts.GetReservedKeywordKinds());
Microsoft.CodeAnalysis.Extensions.Package (68)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Microsoft.CodeAnalysis.ExternalAccess.FSharp (1)
VS\IFSharpWorkspaceProjectContextFactory.cs (1)
103private ImmutableHashSet<string> _metadataReferences;
Microsoft.CodeAnalysis.ExternalAccess.OmniSharp (3)
Completion\OmniSharpCompletionService.cs (2)
20ImmutableHashSet<string>? roles, 33ImmutableHashSet<string>? roles,
Rename\OmniSharpRenamer.cs (1)
22ImmutableHashSet<ISymbol>? nonConflictSymbols,
Microsoft.CodeAnalysis.Features (117)
CodeFixes\Configuration\ConfigurationUpdater.cs (1)
385if (IDEDiagnosticIdToOptionMappingHelper.TryGetMappedOptions(diagnostic.Id, project.Language, out var options))
CodeFixes\Service\CodeFixService.cs (1)
810var diagnosticIds = diagnostics
CodeFixes\Service\CodeFixService.FixAllDiagnosticProvider.cs (2)
20private readonly ImmutableHashSet<string>? _diagnosticIds; 23public FixAllDiagnosticProvider(ImmutableHashSet<string> diagnosticIds)
Completion\CommonCompletionUtilities.cs (1)
229internal static ImmutableHashSet<char> GetTriggerCharacters(CompletionProvider provider)
Completion\CompletionContext.cs (1)
56/// be overwritten during <see cref="CompletionService.GetCompletionsAsync(Document, int, CompletionTrigger, ImmutableHashSet{string}, OptionSet, CancellationToken)"/>.
Completion\CompletionService.cs (3)
98ImmutableHashSet<string>? roles = null, 139ImmutableHashSet<string>? roles = null) 400public ImmutableArray<CompletionProvider> GetImportedAndBuiltInProviders(ImmutableHashSet<string> roles)
Completion\CompletionService.ProviderManager.cs (12)
26private sealed class ProviderManager : IEqualityComparer<ImmutableHashSet<string>> 30private readonly Dictionary<ImmutableHashSet<string>, ImmutableArray<CompletionProvider>> _rolesToProviders; 39_rolesToProviders = new Dictionary<ImmutableHashSet<string>, ImmutableArray<CompletionProvider>>(this); 121private ImmutableArray<CompletionProvider> GetImportedAndBuiltInProviders(ImmutableHashSet<string>? roles) 136ImmutableArray<CompletionProvider> GetImportedAndBuiltInProvidersWorker(ImmutableHashSet<string> roles) 168Project? project, ImmutableHashSet<string>? roles, CompletionTrigger trigger, in CompletionOptions options) 223bool IEqualityComparer<ImmutableHashSet<string>>.Equals([AllowNull] ImmutableHashSet<string> x, [AllowNull] ImmutableHashSet<string> y) 246int IEqualityComparer<ImmutableHashSet<string>>.GetHashCode([DisallowNull] ImmutableHashSet<string> obj) 284public ImmutableArray<CompletionProvider> GetImportedAndBuiltInProviders(ImmutableHashSet<string> roles)
Completion\CompletionService_GetCompletions.cs (3)
40ImmutableHashSet<string>? roles = null, 66ImmutableHashSet<string>? roles = null, 128Document document, ConcatImmutableArray<CompletionProvider> providers, int caretPosition, CompletionOptions options, CompletionTrigger trigger, ImmutableHashSet<string>? roles, SourceText text)
Completion\LSPCompletionProvider.cs (1)
15public abstract ImmutableHashSet<char> TriggerCharacters { get; }
Completion\Providers\AbstractAggregateEmbeddedLanguageCompletionProvider.cs (2)
42private static ImmutableHashSet<char> GetTriggerCharactersForEmbeddedLanguage(IEmbeddedLanguage language) 69public override ImmutableHashSet<char> TriggerCharacters { get; }
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (2)
53public override ImmutableHashSet<char> TriggerCharacters { get; } = ['\"']; 180var resultBuilder = (ImmutableHashSet<string>.Builder?)null;
Completion\Providers\AbstractSuggestionModeCompletionProvider.cs (1)
25public override ImmutableHashSet<char> TriggerCharacters => [];
Completion\Providers\EmbeddedLanguageCompletionProvider.cs (1)
21public abstract ImmutableHashSet<char> TriggerCharacters { get; }
Diagnostics\IDiagnosticAnalyzerService.cs (2)
67Project project, ImmutableArray<DocumentId> documentIds, ImmutableHashSet<string>? diagnosticIds, AnalyzerFilter analyzerFilter, bool includeLocalDocumentDiagnostics, CancellationToken cancellationToken); 79Project project, ImmutableHashSet<string>? diagnosticIds, AnalyzerFilter analyzerFilter, CancellationToken cancellationToken);
Diagnostics\Service\DiagnosticAnalyzerService.cs (2)
144public async Task<ImmutableHashSet<string>> GetDeprioritizedDiagnosticIdsAsync(Project project) 152Contract.ThrowIfFalse(DiagnosticAnalyzerService.s_analyzerToDeprioritizedDiagnosticIds.TryGetValue(analyzer, out var set));
Diagnostics\Service\DiagnosticAnalyzerService.HostAnalyzerInfo.cs (12)
23private readonly ImmutableHashSet<DiagnosticAnalyzer> _hostAnalyzers; 24private readonly ImmutableHashSet<DiagnosticAnalyzer> _allAnalyzers; 28ImmutableHashSet<DiagnosticAnalyzer> hostAnalyzers, 29ImmutableHashSet<DiagnosticAnalyzer> allAnalyzers) 43public HostAnalyzerInfo WithExcludedAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> excludedAnalyzers) 111var referenceIdsToRedirect = GetReferenceIdsToRedirectAsProjectAnalyzers(project); 115static HostAnalyzerInfo CreateLanguageSpecificAnalyzerMap(HostAnalyzerInfoKey arg, (HostDiagnosticAnalyzers HostAnalyzers, ImmutableHashSet<object> ReferenceIdsToRedirect) state) 128ImmutableHashSet<object> referenceIdsToRedirectAsProjectAnalyzers) 154private static (ImmutableHashSet<DiagnosticAnalyzer> hostAnalyzers, ImmutableHashSet<DiagnosticAnalyzer> allAnalyzers) PartitionAnalyzers( 192private static ImmutableHashSet<object> GetReferenceIdsToRedirectAsProjectAnalyzers(Project project) 204static ImmutableHashSet<object> GetFeaturesAnalyzerReferenceIds(HostDiagnosticAnalyzers hostAnalyzers)
Diagnostics\Service\DiagnosticAnalyzerService.ProjectStates.cs (2)
25public readonly ImmutableHashSet<DiagnosticAnalyzer> Analyzers; 31ImmutableHashSet<DiagnosticAnalyzer> analyzers,
Diagnostics\Service\DiagnosticAnalyzerService_DeprioritizationCandidates.cs (4)
26private static readonly ConditionalWeakTable<DiagnosticAnalyzer, ImmutableHashSet<string>?> s_analyzerToDeprioritizedDiagnosticIds = new(); 34Contract.ThrowIfFalse(s_analyzerToDeprioritizedDiagnosticIds.TryGetValue(analyzer, out var set)); 52if (!s_analyzerToDeprioritizedDiagnosticIds.TryGetValue(analyzer, out var deprioritizedIds)) 86async ValueTask<ImmutableHashSet<string>?> ComputeDeprioritizedDiagnosticIdsAsync(DiagnosticAnalyzer analyzer)
Diagnostics\Service\DiagnosticAnalyzerService_ProduceProjectDiagnostics.cs (6)
24ImmutableHashSet<string>? diagnosticIds, 56ImmutableHashSet<string>? diagnosticIds, 70ImmutableHashSet<string>? diagnosticIds, 90ImmutableHashSet<string>? diagnosticIds, 102ImmutableHashSet<string>? diagnosticIds, 117ImmutableHashSet<string>? diagnosticIds,
Diagnostics\Service\DiagnosticAnalyzerService_RemoteOrLocalDispatcher.cs (2)
129Project project, ImmutableArray<DocumentId> documentIds, ImmutableHashSet<string>? diagnosticIds, AnalyzerFilter analyzerFilter, bool includeLocalDocumentDiagnostics, CancellationToken cancellationToken) 151ImmutableHashSet<string>? diagnosticIds,
Diagnostics\Service\DocumentAnalysisExecutor.cs (2)
54var compilationBasedProjectAnalyzers = compilationWithAnalyzers?.ProjectAnalyzers.ToImmutableHashSet(); 59var compilationBasedHostAnalyzers = compilationWithAnalyzers?.HostAnalyzers.ToImmutableHashSet();
EditAndContinue\DebuggingSession.cs (1)
934public ImmutableHashSet<Guid> GetModulesPreparedForUpdate()
EditAndContinue\EditAndContinueDiagnosticDescriptors.cs (1)
29private static readonly ImmutableHashSet<string> s_noEffectDiagnosticIds;
EditAndContinue\EditSession.cs (2)
812MergePartialEdits(oldCompilation, newCompilation, allEdits, out var mergedEdits, out var addedSymbols, cancellationToken); 832out ImmutableHashSet<ISymbol> addedSymbols,
EditAndContinue\ProjectChanges.cs (2)
27public readonly ImmutableHashSet<ISymbol> AddedSymbols; 42ImmutableHashSet<ISymbol> addedSymbols,
EmbeddedLanguages\DateAndTime\DateAndTimeEmbeddedCompletionProvider.cs (1)
34public override ImmutableHashSet<char> TriggerCharacters { get; } = ['"', ':'];
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexEmbeddedCompletionProvider.cs (1)
41public override ImmutableHashSet<char> TriggerCharacters { get; } = ['\\', '[', '(', '{']; // \p{
ExternalAccess\UnitTesting\API\UnitTestingInvocationReasons.cs (3)
13internal partial struct UnitTestingInvocationReasons(ImmutableHashSet<string> reasons) : IEnumerable<string> 18private readonly ImmutableHashSet<string> _reasons = reasons ?? []; 36public ImmutableHashSet<string>.Enumerator GetEnumerator()
ExternalAccess\UnitTesting\SolutionCrawler\UnitTestingWorkCoordinator.UnitTestingWorkItem.cs (6)
38public readonly ImmutableHashSet<IUnitTestingIncrementalAnalyzer> SpecificAnalyzers; 62ImmutableHashSet<IUnitTestingIncrementalAnalyzer> specificAnalyzers, 96private ImmutableHashSet<IUnitTestingIncrementalAnalyzer> Union(ImmutableHashSet<IUnitTestingIncrementalAnalyzer> analyzers) 120ImmutableHashSet<IUnitTestingIncrementalAnalyzer> analyzers, bool retry, IAsyncToken asyncToken) 159public UnitTestingWorkItem With(ImmutableHashSet<IUnitTestingIncrementalAnalyzer> specificAnalyzers, IAsyncToken asyncToken)
ExternalAccess\VSTypeScript\VSTypeScriptNavigateToSearchService.cs (1)
30public IImmutableSet<string> KindsProvided => _searchService?.KindsProvided ?? ImmutableHashSet<string>.Empty;
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (3)
296.FindReferencesAsync(symbol, document.Project.Solution, ImmutableHashSet<Document>.Empty.Add(document), cancellationToken) 360var localSymbolsInCallee = LocalVariableDeclarationVisitor 388public static ImmutableHashSet<ISymbol> GetAllSymbols(
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
441.FindReferencesAsync(parameterSymbol, document.Project.Solution, ImmutableHashSet<Document>.Empty.Add(document), cancellationToken).ConfigureAwait(false);
NavigateTo\NavigateToSearcher.cs (1)
527=> ImmutableHashSet<string>.Empty;
NavigateTo\NavigateToUtilities.cs (1)
16public static ImmutableHashSet<string> GetKindsProvided(Solution solution)
RemoveUnusedVariable\AbstractRemoveUnusedVariableCodeFixProvider.cs (1)
69var documentsToBeSearched = ImmutableHashSet.Create(document);
src\Analyzers\Core\Analyzers\AbstractBuiltInCodeStyleDiagnosticAnalyzer.cs (3)
66ImmutableHashSet<IOption2> options, 95protected AbstractBuiltInCodeStyleDiagnosticAnalyzer(ImmutableArray<(DiagnosticDescriptor Descriptor, ImmutableHashSet<IOption2> Options)> supportedDiagnosticsWithOptions) 115private static void AddDiagnosticIdToOptionMapping(string diagnosticId, ImmutableHashSet<IOption2> options)
src\Analyzers\Core\Analyzers\AbstractBuiltInUnnecessaryCodeStyleDiagnosticAnalyzer.cs (2)
73ImmutableHashSet<IOption2> options, 112protected AbstractBuiltInUnnecessaryCodeStyleDiagnosticAnalyzer(ImmutableArray<(DiagnosticDescriptor Descriptor, ImmutableHashSet<IOption2> Options)> supportedDiagnosticsWithOptions, PerLanguageOption2<bool>? fadingOption)
src\Analyzers\Core\Analyzers\IDEDiagnosticIdToOptionMappingHelper.cs (9)
22private static readonly ConcurrentDictionary<string, ImmutableHashSet<IOption2>> s_diagnosticIdToOptionMap = new(); 23private static readonly ConcurrentDictionary<string, ConcurrentDictionary<string, ImmutableHashSet<IOption2>>> s_diagnosticIdToLanguageSpecificOptionsMap = new(); 26public static bool TryGetMappedOptions(string diagnosticId, string language, [NotNullWhen(true)] out ImmutableHashSet<IOption2>? options) 34public static ImmutableHashSet<string> KnownIDEDiagnosticIds 38public static void AddOptionMapping(string diagnosticId, ImmutableHashSet<IOption2> options) 70var map = s_diagnosticIdToLanguageSpecificOptionsMap.GetOrAdd(language, _ => new ConcurrentDictionary<string, ImmutableHashSet<IOption2>>()); 83private static void AddOptionMapping(ConcurrentDictionary<string, ImmutableHashSet<IOption2>> map, string diagnosticId, ImmutableHashSet<IOption2> options) 87Debug.Assert(!map.TryGetValue(diagnosticId, out var existingOptions) || options.SetEquals(existingOptions));
src\Analyzers\Core\Analyzers\ParenthesesDiagnosticAnalyzersHelper.cs (1)
15internal static ImmutableHashSet<IOption2> Options =
src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (5)
36private readonly Lazy<ImmutableHashSet<int>> _lazySupportedCompilerErrorCodes; 41_lazySupportedCompilerErrorCodes = new Lazy<ImmutableHashSet<int>>(GetSupportedCompilerErrorCodes); 51private ImmutableHashSet<int> GetSupportedCompilerErrorCodes() 182var idsToAnalyze = idsToAnalyzeBuilder.ToImmutableHashSet(); 390ImmutableHashSet<string> idsToAnalyze,
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
145private readonly ImmutableHashSet<INamedTypeSymbol?> _attributeSetForMethodsToIgnore;
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (3)
26ImmutableHashSet<INamedTypeSymbol> attributeSetForMethodsToIgnore, 34private readonly ImmutableHashSet<INamedTypeSymbol> _attributeSetForMethodsToIgnore = attributeSetForMethodsToIgnore; 51var attributeSetForMethodsToIgnore = ImmutableHashSet.CreateRange(GetAttributesForMethodsToIgnore(context.Compilation).WhereNotNull());
src\Analyzers\Core\Analyzers\SimplifyLinqExpression\AbstractSimplifyLinqExpressionDiagnosticAnalyzer.cs (2)
25private static readonly ImmutableHashSet<string> s_nonEnumerableReturningLinqPredicateMethodNames = 36private static readonly ImmutableHashSet<string> s_nonEnumerableReturningLinqSelectorMethodNames =
src\Analyzers\Core\CodeFixes\GenerateParameterizedMember\TypeParameterSubstitution.cs (1)
89var projects = solution.Projects.ToImmutableHashSet();
UnusedReferences\ProjectAssets\ProjectAssetsReader.cs (2)
48var autoReferences = projectAssets.Project?.Frameworks?.Values 73ImmutableHashSet<string> autoReferences,
Microsoft.CodeAnalysis.InteractiveHost (68)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Microsoft.CodeAnalysis.LanguageServer.Protocol (1)
Handler\InlineCompletions\InlineCompletionsHandler.cs (1)
42public static ImmutableHashSet<string> BuiltInSnippets =
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (6)
Completion\CompletionFeaturesTests.cs (4)
596CodeAnalysis.Completion.CompletionOptions options, OptionSet passThroughOptions, ImmutableHashSet<string> roles = null) 607CompletionTrigger trigger = default, ImmutableHashSet<string> roles = null, CancellationToken cancellationToken = default) 897CodeAnalysis.Completion.CompletionOptions options, OptionSet passThroughOptions, ImmutableHashSet<string> roles = null) 908CompletionTrigger trigger = default, ImmutableHashSet<string> roles = null, CancellationToken cancellationToken = default)
Completion\CompletionResolveTests.cs (2)
513ImmutableHashSet<string> roles = null, 532internal override bool ShouldTriggerCompletion(Project project, LanguageServices languageServices, SourceText text, int caretPosition, CompletionTrigger trigger, CodeAnalysis.Completion.CompletionOptions options, OptionSet passthroughOptions, ImmutableHashSet<string> roles = null)
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (186)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.PublicApiAnalyzers (185)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Microsoft.CodeAnalysis.PublicApiAnalyzers.CodeFixes (4)
DeclarePublicApiFix.cs (4)
51ImmutableHashSet<string> siblingSymbolNamesToRemove = siblingsToRemoveSymbolNames 97private static async Task<Solution?> GetFixAsync(TextDocument? surfaceAreaDocument, bool isPublic, Project project, string newSymbolName, ImmutableHashSet<string> siblingSymbolNamesToRemove, CancellationToken cancellationToken) 164private static SourceText RemoveSymbolNamesFromSourceText(SourceText sourceText, ImmutableHashSet<string> linesToRemove) 304var symbolNamesToRemove = symbolNamesToRemoveBuilder.ToImmutableHashSet();
Microsoft.CodeAnalysis.Remote.ServiceHub (5)
Services\DependentTypeFinder\RemoteDependentTypeFinderService.cs (1)
42var projects = projectIdsOpt.IsDefault ? null : projectIdsOpt.Select(id => solution.GetRequiredProject(id)).ToImmutableHashSet();
Services\DiagnosticAnalyzer\RemoteDiagnosticAnalyzerService.cs (2)
62ImmutableHashSet<string>? diagnosticIds, 83ImmutableHashSet<string>? diagnosticIds,
Services\DocumentHighlights\RemoteDocumentHighlightsService.cs (1)
41var documentsToSearchSet = ImmutableHashSet.CreateRange(documentsToSearch.WhereNotNull());
Services\SymbolFinder\RemoteSymbolFinderService.cs (1)
60var documents = documentArgs.IsDefault ? null :
Microsoft.CodeAnalysis.ResxSourceGenerator (185)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Microsoft.CodeAnalysis.Test.Utilities (2)
Diagnostics\CommonDiagnosticAnalyzers.cs (2)
384params (string DescriptorId, int DescriptorIndex, ImmutableHashSet<ReportDiagnostic> EffectiveSeverities)[] overriddenEffectiveSeveritiesWithIndex) 1118private readonly ImmutableHashSet<string> _symbolNames;
Microsoft.CodeAnalysis.Threading.Package (68)
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Microsoft.CodeAnalysis.UnitTests (3)
Collections\ImmutableSetTest.nonnetstandard.cs (2)
67System.Collections.Immutable.ImmutableHashSet<T> => null, 83System.Collections.Immutable.ImmutableHashSet<T> s => s.KeyComparer,
InternalUtilities\SpecializedCollectionsTests.cs (1)
25? ImmutableHashSet<int>.Empty
Microsoft.CodeAnalysis.VisualBasic (25)
Binding\Binder_Lookup.vb (3)
1423Public ReadOnly DescendantDefinitions As ImmutableHashSet(Of NamedTypeSymbol) 1425Public Sub New(interfaceType As NamedTypeSymbol, inComInterfaceContext As Boolean, Optional descendantDefinitions As ImmutableHashSet(Of NamedTypeSymbol) = Nothing) 1879Dim descendants As ImmutableHashSet(Of NamedTypeSymbol)
Declarations\DeclarationTreeBuilder.vb (10)
115Private Function CreateImplicitClass(parent As VisualBasicSyntaxNode, memberNames As ImmutableHashSet(Of String), children As ImmutableArray(Of SingleTypeDeclaration), declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As SingleNamespaceOrTypeDeclaration 131Private Function CreateScriptClass(parent As VisualBasicSyntaxNode, children As ImmutableArray(Of SingleTypeDeclaration), memberNames As ImmutableHashSet(Of String), declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As SingleNamespaceOrTypeDeclaration 604Private Shared ReadOnly s_memberNameBuilderPool As New ObjectPool(Of ImmutableHashSet(Of String).Builder)( 607Private Shared Function ToImmutableAndFree(builder As ImmutableHashSet(Of String).Builder) As ImmutableHashSet(Of String) 614Private Function GetNonTypeMemberNames(members As SyntaxList(Of StatementSyntax), ByRef declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As ImmutableHashSet(Of String) 707Private Function GetMemberNames(enumBlockSyntax As EnumBlockSyntax, ByRef declFlags As SingleTypeDeclaration.TypeDeclarationFlags) As ImmutableHashSet(Of String) 736Private Sub AddMemberNames(methodDecl As MethodBaseSyntax, results As ImmutableHashSet(Of String).Builder) 757memberNames:=ImmutableHashSet(Of String).Empty, 783memberNames:=ImmutableHashSet(Of String).Empty,
Declarations\SingleTypeDeclaration.vb (2)
39memberNames As ImmutableHashSet(Of String), 103Public ReadOnly Property MemberNames As ImmutableHashSet(Of String)
Symbols\Source\SourceFieldSymbol.vb (10)
296Public Dependencies As ImmutableHashSet(Of SourceFieldSymbol) 301Public DependedOnBy As ImmutableHashSet(Of SourceFieldSymbol) 324node.DependedOnBy = ImmutableHashSet(Of SourceFieldSymbol).Empty 327Dim dependencies As ImmutableHashSet(Of SourceFieldSymbol) = field.GetConstantValueDependencies() 342node.DependedOnBy = ImmutableHashSet(Of SourceFieldSymbol).Empty 359Private Function GetConstantValueDependencies() As ImmutableHashSet(Of SourceFieldSymbol) 365Return ImmutableHashSet(Of SourceFieldSymbol).Empty 374Dim result As ImmutableHashSet(Of SourceFieldSymbol) 384result = ImmutableHashSet(Of SourceFieldSymbol).Empty 386result = ImmutableHashSet(Of SourceFieldSymbol).Empty.Union(builder)
Microsoft.CodeAnalysis.Workspaces (232)
CodeFixes\FixAllOccurrences\FixAllContext.cs (2)
56public ImmutableHashSet<string> DiagnosticIds => State.DiagnosticIds; 240ImmutableHashSet<string> diagnosticIds,
CodeFixes\FixAllOccurrences\FixAllState.cs (4)
21public ImmutableHashSet<string> DiagnosticIds { get; } 70var diagnosticIds = GetDiagnosticsIds(diagnosticsToFix.Values); 91var diagnosticIds = GetDiagnosticsIds(diagnosticsToFix.Values); 105private static ImmutableHashSet<string> GetDiagnosticsIds(IEnumerable<ImmutableArray<Diagnostic>> diagnosticsCollection)
Diagnostics\DiagnosticIdFilter.cs (4)
22[property: DataMember(Order = 0)] ImmutableHashSet<string>? IncludedDiagnosticIds, 23[property: DataMember(Order = 1)] ImmutableHashSet<string>? ExcludedDiagnosticIds) 27public static DiagnosticIdFilter Include(ImmutableHashSet<string>? includedDiagnosticIds) 30public static DiagnosticIdFilter Exclude(ImmutableHashSet<string> excludedDiagnosticIds)
Diagnostics\IRemoteDiagnosticAnalyzerService.cs (2)
35ImmutableHashSet<string>? diagnosticIds, 42ImmutableHashSet<string>? diagnosticIds,
Diagnostics\SkippedHostAnalyzersInfo.cs (3)
29public ImmutableHashSet<DiagnosticAnalyzer> SkippedAnalyzers { get; } 40ImmutableHashSet<DiagnosticAnalyzer> skippedHostAnalyzers, 109var fullySkippedHostAnalyzers = fullySkippedHostAnalyzersBuilder.ToImmutable();
FindSymbols\FindReferences\FindReferenceCache.cs (2)
69private ImmutableHashSet<string>? _aliasNameSet; 100var set = semanticFacts.GetAliasNameSet(SemanticModel, cancellationToken);
FindSymbols\FindReferences\FindReferencesSearchEngine.BidirectionalSymbolSet.cs (1)
51var projects = ImmutableHashSet.Create(project);
FindSymbols\FindReferences\FindReferencesSearchEngine.cs (1)
209var projects = _documents != null
FindSymbols\FindReferences\FindReferencesSearchEngine.SymbolSet.cs (3)
174var allProjects = solution.Projects.ToImmutableHashSet(); 239ImmutableHashSet<Project> projects, CancellationToken cancellationToken) 274ImmutableHashSet<Project> projects,
FindSymbols\FindReferences\FindReferencesSearchEngine.UnidirectionalSymbolSet.cs (2)
33private readonly ImmutableHashSet<ISymbol> _upSymbols = upSymbols.ToImmutableHashSet(MetadataUnifyingEquivalenceComparer.Instance); 49var projects = ImmutableHashSet.Create(project);
FindSymbols\FindReferences\FindReferencesSearchEngine_FindReferencesInDocuments.cs (1)
60var projectsToSearch = documents.Select(d => d.Project).Where(p => p.SupportsCompilation).ToImmutableHashSet();
FindSymbols\IStreamingFindReferencesProgress.cs (1)
29public ImmutableHashSet<ISymbol> Symbols { get; }
Options\SolutionOptionSet.cs (2)
29private readonly ImmutableHashSet<OptionKey> _changedOptionKeys; 34ImmutableHashSet<OptionKey> changedOptionKeys)
Rename\ConflictEngine\ConflictResolver.Session.cs (5)
112var conflictLocations = ImmutableHashSet<ConflictLocationInfo>.Empty; 311ImmutableHashSet<ConflictLocationInfo> conflictLocations) 679private async Task<(ImmutableHashSet<DocumentId> documentIds, ImmutableArray<string> possibleNameConflicts)> FindDocumentsAndPossibleNameConflictsAsync() 790var conflictLocationSpans = conflictLocations
Rename\RenameRewriterParameters.cs (2)
23ImmutableHashSet<TextSpan> conflictLocationSpans, 34internal readonly ImmutableHashSet<TextSpan> ConflictLocationSpans = conflictLocationSpans;
Rename\SymbolicRenameLocations.SearchResult.cs (2)
14public readonly ImmutableHashSet<RenameLocation> Locations; 19ImmutableHashSet<RenameLocation> locations,
SolutionCrawler\InvocationReasons.cs (3)
13internal partial struct InvocationReasons(ImmutableHashSet<string> reasons) : IEnumerable<string> 18private readonly ImmutableHashSet<string> _reasons = reasons ?? []; 36public ImmutableHashSet<string>.Enumerator GetEnumerator()
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Workspace\ProjectSystem\ProjectSystemProjectFactory.cs (1)
58public ImmutableHashSet<DocumentId> DocumentsNotFromFiles { get; private set; } = [];
Workspace\Solution\ProjectDependencyGraph.cs (45)
35private readonly ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _referencesMap; 45private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? _lazyReverseReferencesMap; 56private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _transitiveReferencesMap; 57private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> _reverseTransitiveReferencesMap; 60private static readonly ObjectPool<ImmutableHashSet<ProjectId>.Builder> s_reverseReferencesBuilderPool = new(static () => ImmutableHashSet.CreateBuilder<ProjectId>(), size: 256); 69ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 71ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 72ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 77ImmutableHashSet<ProjectId> projectIds, 78ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap) 83transitiveReferencesMap: ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 84reverseTransitiveReferencesMap: ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Empty, 92ImmutableHashSet<ProjectId> projectIds, 93ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap, 94ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? reverseReferencesMap, 95ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> transitiveReferencesMap, 96ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> reverseTransitiveReferencesMap, 115internal ImmutableHashSet<ProjectId> ProjectIds { get; } 117private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> RemoveItemsWithEmptyValues( 118ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> map) 120ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>.Builder? builder = null; 154var referencedProjectIds = projectReferences.IsEmpty() ? [] : 203private ImmutableHashSet<ProjectId> GetProjectsThatDirectlyDependOnThisProject_NoLock(ProjectId projectId) 214private ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeReverseReferencesMap() 216using var _1 = PooledDictionary<ProjectId, ImmutableHashSet<ProjectId>.Builder>.GetInstance(out var reverseReferencesMapBuilders); 232var reverseReferencesBuilder = ImmutableDictionary.CreateBuilder<ProjectId, ImmutableHashSet<ProjectId>>(); 236var reverseReferencesForProject = builder.ToImmutableHashSet(); 252internal ImmutableHashSet<ProjectId>? TryGetProjectsThatThisProjectTransitivelyDependsOn(ProjectId projectId) 259_transitiveReferencesMap.TryGetValue(projectId, out var projects); 275if (currentMap.TryGetValue(projectId, out var transitiveReferences)) 288private ImmutableHashSet<ProjectId> GetProjectsThatThisProjectTransitivelyDependsOn_NoLock(ProjectId projectId) 290if (!_transitiveReferencesMap.TryGetValue(projectId, out var transitiveReferences)) 327if (currentMap.TryGetValue(projectId, out var reverseTransitiveReferences)) 340private ImmutableHashSet<ProjectId> GetProjectsThatTransitivelyDependOnThisProject_NoLock(ProjectId projectId) 342if (!_reverseTransitiveReferencesMap.TryGetValue(projectId, out var reverseTransitiveReferences)) 357var otherProjects = this.GetProjectsThatDirectlyDependOnThisProject_NoLock(project); 410if (_referencesMap.TryGetValue(projectId, out var projectReferenceIds)) 489ImmutableHashSet<ProjectId> projectIds, 490ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> referencesMap) 509ImmutableHashSet<ProjectId> projectIds, 510ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> forwardReferencesMap, 511ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? reverseReferencesMap) 549public ImmutableHashSet<ProjectId>? TryGetProjectsThatTransitivelyDependOnThisProject(ProjectId projectId) 556instance._reverseTransitiveReferencesMap.TryGetValue(projectId, out var projects); 568var forwardDependencies = TryGetProjectsThatThisProjectTransitivelyDependsOn(id);
Workspace\Solution\ProjectDependencyGraph_AddProjectReference.cs (13)
58private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForAdditionalProjectReferences( 59ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReferencesMap, 63if (existingReferencesMap.TryGetValue(projectId, out var existingReferences)) 78private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForAdditionalProjectReferences( 79ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 99private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForAdditionalProjectReferences( 100ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 112if (existingTransitiveReferencesMap.TryGetValue(referencedProjectId, out var additionalTransitiveReferences)) 128existingTransitiveReferencesMap.TryGetValue(projectIdToUpdate, out var existingTransitiveReferences); 155private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForAdditionalProjectReferences( 156ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap, 164existingReverseTransitiveReferencesMap.TryGetValue(projectId, out var newReverseTranstiveReferences); 176existingReverseTransitiveReferencesMap.TryGetValue(projectIdToUpdate, out var existingReverseTransitiveReferences);
Workspace\Solution\ProjectDependencyGraph_RemoveAllProjectReferences.cs (12)
18if (!_referencesMap.TryGetValue(projectId, out var referencedProjectIds)) 22var projectIds = ProjectIds; 40private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedAllProjectReferences( 41ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 58private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedAllProjectReferences( 59ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 61ImmutableHashSet<ProjectId> referencedProjectIds) 77private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedAllProjectReferences( 78ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 80ImmutableHashSet<ProjectId> referencedProjectIds) 104private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedAllProjectReferences( 105ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap,
Workspace\Solution\ProjectDependencyGraph_RemoveProject.cs (13)
21var projectIds = projectIdsBuilder.ToImmutable(); 55private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedProject( 56ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 57ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 69if (existingReverseReferencesMap.TryGetValue(removedProjectId, out var referencingProjects)) 99private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedProject( 100ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 101ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 113if (!existingForwardReferencesMap.TryGetValue(removedProjectId, out var forwardReferences)) 133private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedProject( 134ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 167private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedProject( 168ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap,
Workspace\Solution\ProjectDependencyGraph_RemoveProjectReference.cs (9)
20var projectIds = ProjectIds; 38private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReferencesMapForRemovedProjectReference( 39ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingForwardReferencesMap, 55private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? ComputeNewReverseReferencesMapForRemovedProjectReference( 56ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>>? existingReverseReferencesMap, 68private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewTransitiveReferencesMapForRemovedProjectReference( 69ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingTransitiveReferencesMap, 95private static ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> ComputeNewReverseTransitiveReferencesMapForRemovedProjectReference( 96ImmutableDictionary<ProjectId, ImmutableHashSet<ProjectId>> existingReverseTransitiveReferencesMap,
Microsoft.CodeAnalysis.Workspaces.MSBuild (8)
MSBuild\MSBuildProjectLoader.Worker_ResolveReferences.cs (4)
24public ImmutableHashSet<ProjectReference> ProjectReferences { get; } 27public ResolvedReferences(ImmutableHashSet<ProjectReference> projectReferences, ImmutableArray<MetadataReference> metadataReferences) 57private readonly ImmutableHashSet<ProjectReference>.Builder _projectReferences; 180private ImmutableHashSet<ProjectReference> GetProjectReferences()
MSBuild\SolutionFileReader.cs (3)
27var projectFilter = ImmutableHashSet<string>.Empty; 43private static async Task<ImmutableArray<(string ProjectPath, string ProjectGuid)>?> TryReadSolutionFileAsync(string solutionFilePath, PathResolver pathResolver, ImmutableHashSet<string> projectFilter, DiagnosticReportingMode diagnosticReportingMode, CancellationToken cancellationToken)
MSBuild\SolutionFileReader.SolutionFilterReader.cs (1)
23public static bool TryRead(string filterFilename, PathResolver pathResolver, [NotNullWhen(true)] out string? solutionFilename, out ImmutableHashSet<string> projectFilter)
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (78)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
Microsoft.CodeAnalysis.Workspaces.MSBuild.UnitTests (1)
NewlyCreatedProjectsFromDotNetNew.cs (1)
235var reportedDiagnosticIds = nonHiddenDiagnostics
Microsoft.CodeAnalysis.Workspaces.Test.Utilities (13)
MEF\TestComposition.cs (13)
34public CacheKey(ImmutableHashSet<Assembly> assemblies, ImmutableHashSet<Type> parts, ImmutableHashSet<Type> excludedPartTypes) 62public readonly ImmutableHashSet<Assembly> Assemblies; 68public readonly ImmutableHashSet<Type> ExcludedPartTypes; 73public readonly ImmutableHashSet<Type> Parts; 77private TestComposition(ImmutableHashSet<Assembly> assemblies, ImmutableHashSet<Type> parts, ImmutableHashSet<Type> excludedPartTypes) 132var configurationOverlap = Parts.Intersect(ExcludedPartTypes); 183public TestComposition WithAssemblies(ImmutableHashSet<Assembly> assemblies) 205public TestComposition WithParts(ImmutableHashSet<Type> parts) 208public TestComposition WithExcludedPartTypes(ImmutableHashSet<Type> excludedPartTypes)
Microsoft.Extensions.Logging.Generators (1)
LoggerMessageGenerator.Roslyn4.0.cs (1)
48ImmutableHashSet<ClassDeclarationSyntax> distinctClasses = classes.ToImmutableHashSet();
Microsoft.Gen.Logging (1)
LoggingGenerator.cs (1)
39ImmutableHashSet<TypeDeclarationSyntax> distinctTypes = types.ToImmutableHashSet();
Microsoft.Interop.SourceGeneration (12)
MarshallingInfoParser.cs (6)
287private ImmutableHashSet<string> _activeInspectingElements = ImmutableHashSet<string>.Empty; 300ImmutableHashSet<string> inspectedElements = _activeInspectingElements; 327ImmutableHashSet<string> inspectedElements = _activeInspectingElements; 356public CyclicalElementInfoException(ImmutableHashSet<string> elementsInCycle, string startOfCycle) 362public ImmutableHashSet<string> ElementsInCycle { get; }
TypeSymbolExtensions.cs (6)
37static bool IsConsideredBlittableWorker(ITypeSymbol t, ImmutableHashSet<ITypeSymbol> seenTypes, Compilation compilation) 62static unsafe bool IsStrictlyBlittableWorker(ITypeSymbol t, ImmutableHashSet<ITypeSymbol> seenTypes, Compilation compilation) 100private static unsafe bool IsBlittableWorker(this ITypeSymbol type, ImmutableHashSet<ITypeSymbol> seenTypes, Compilation compilation, delegate*<ITypeSymbol, ImmutableHashSet<ITypeSymbol>, Compilation, bool> isBlittable) 147private static unsafe bool HasOnlyBlittableFields(this ITypeSymbol type, ImmutableHashSet<ITypeSymbol> seenTypes, Compilation compilation, delegate*<ITypeSymbol, ImmutableHashSet<ITypeSymbol>, Compilation, bool> isBlittable)
Microsoft.VisualStudio.LanguageServices (24)
CallHierarchy\Finders\AbstractCallFinder.cs (1)
141return ImmutableHashSet<Document>.Empty;
CommonControls\MemberSelectionViewModel.cs (1)
166private ImmutableHashSet<ISymbol> FindDependentsRecursively(ISymbol member)
Library\ObjectBrowser\AbstractListItemFactory.cs (2)
465public async Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync( 507public async Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Project project, bool lookInReferences, CancellationToken cancellationToken)
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager.cs (1)
312var projectAndAssemblySet = await this.GetAssemblySetAsync(
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager_ListItems.cs (2)
23internal Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Solution solution, string languageName, CancellationToken cancellationToken) 26internal Task<ImmutableHashSet<(ProjectId, IAssemblySymbol)>> GetAssemblySetAsync(Project project, bool lookInReferences, CancellationToken cancellationToken)
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager_Search.cs (1)
40ImmutableHashSet<(ProjectId, IAssemblySymbol)> projectAndAssemblySet,
Library\ObjectBrowser\ObjectList.cs (1)
502var projectAndAssemblySet = await this.LibraryManager.GetAssemblySetAsync(
MoveStaticMembers\StaticMemberSelectionViewModel.cs (1)
83private ImmutableHashSet<ISymbol> FindDependents(ISymbol member)
NavigateTo\RoslynSearchItemsSource.cs (2)
23private static readonly IImmutableSet<string> s_typeKinds = ImmutableHashSet<string>.Empty 30private static readonly IImmutableSet<string> s_memberKinds = ImmutableHashSet<string>.Empty
PullMemberUp\SymbolDependentsBuilder.cs (1)
36private readonly ImmutableHashSet<ISymbol> _membersInType;
TableDataSource\Suppression\VisualStudioSuppressionFixService.cs (8)
82var diagnosticsToFix = await GetDiagnosticsToFixAsync(selectedEntriesOnly: false, isAddSuppression: true).ConfigureAwait(true); 147private async Task<ImmutableHashSet<DiagnosticData>?> GetDiagnosticsToFixAsync( 151var diagnosticsToFix = ImmutableHashSet<DiagnosticData>.Empty; 179var diagnosticsToFix = await GetDiagnosticsToFixAsync(selectedEntriesOnly, isAddSuppression).ConfigureAwait(true); 470var latestDocumentDiagnosticsMap = filterStaleDiagnostics ? new Dictionary<DocumentId, ImmutableHashSet<DiagnosticData>>() : null; 484var uniqueDiagnosticIds = group.SelectMany(kvp => kvp.Value.Select(d => d.Id)).ToImmutableHashSet(); 510if (!latestDocumentDiagnosticsMap.TryGetValue(document.Id, out var latestDocumentDiagnostics))
TaskList\ExternalErrorDiagnosticUpdateSource.cs (3)
330private ImmutableDictionary<ProjectId, AsyncLazy<ImmutableHashSet<string>>> _allDiagnosticIdMap = ImmutableDictionary<ProjectId, AsyncLazy<ImmutableHashSet<string>>>.Empty; 343AsyncLazy<ImmutableHashSet<string>> GetLazyIdsSlow()
Microsoft.VisualStudio.LanguageServices.CSharp (1)
Interactive\CSharpInteractiveWindowCommandCompletionProvider.cs (1)
45public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Microsoft.VisualStudio.LanguageServices.Implementation (1)
ProjectSystem\CPS\CPSProjectFactory.cs (1)
36private ImmutableHashSet<string> _solutionsWithMissingChecksumAlgorithm = [];
Microsoft.VisualStudio.LanguageServices.LiveShare (4)
Client\RemoteLanguageServiceWorkspace.cs (4)
65private ImmutableHashSet<string> _remoteWorkspaceRootPaths; 70private ImmutableHashSet<string> _registeredExternalPaths; 166private static async Task<(ImmutableHashSet<string> remoteRootPaths, ImmutableHashSet<string> externalPaths)> GetLocalPathsOfRemoteRootsAsync(CollaborationSession session)
Roslyn.Diagnostics.Analyzers (187)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
SymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (1)
102protected abstract ImmutableHashSet<string> SymbolTypesWithExpectedSymbolDeclaredEvent { get; }
Roslyn.Diagnostics.CSharp.Analyzers (7)
CSharpSymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (2)
21private static readonly ImmutableHashSet<string> s_symbolTypesWithExpectedSymbolDeclaredEvent = ImmutableHashSet.Create( 48protected override ImmutableHashSet<string> SymbolTypesWithExpectedSymbolDeclaredEvent => s_symbolTypesWithExpectedSymbolDeclaredEvent;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (3)
129public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken) 146private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 159private static void AppendAliasNames(IEnumerable<BaseNamespaceDeclarationSyntax> namespaces, ImmutableHashSet<string>.Builder builder, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\MethodGenerator.cs (1)
249var referencedTypeParameters = method.Parameters
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
103var documents = namedType.DeclaringSyntaxReferences
RunTests (1)
Program.cs (1)
22private static readonly ImmutableHashSet<string> PrimaryProcessNames = ImmutableHashSet.Create(
System.Collections.Immutable (116)
System\Collections\Frozen\FrozenSetInternalBase.cs (1)
165ImmutableHashSet<T> ihs => _thisSet.Comparer.Equals(ihs.KeyComparer),
System\Collections\Immutable\ImmutableHashSet.cs (27)
9/// A set of initialization methods for instances of <see cref="ImmutableHashSet{T}"/>. 18public static ImmutableHashSet<T> Create<T>() 20return ImmutableHashSet<T>.Empty; 31public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer) 33return ImmutableHashSet<T>.Empty.WithComparer(equalityComparer); 42public static ImmutableHashSet<T> Create<T>(T item) 44return ImmutableHashSet<T>.Empty.Add(item); 54public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, T item) 56return ImmutableHashSet<T>.Empty.WithComparer(equalityComparer).Add(item); 65public static ImmutableHashSet<T> CreateRange<T>(IEnumerable<T> items) 67return ImmutableHashSet<T>.Empty.Union(items); 77public static ImmutableHashSet<T> CreateRange<T>(IEqualityComparer<T>? equalityComparer, IEnumerable<T> items) 79return ImmutableHashSet<T>.Empty.WithComparer(equalityComparer).Union(items); 88public static ImmutableHashSet<T> Create<T>(params T[] items) 101public static ImmutableHashSet<T> Create<T>(params ReadOnlySpan<T> items) 103return ImmutableHashSet<T>.Empty.Union(items); 113public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params T[] items) 127public static ImmutableHashSet<T> Create<T>(IEqualityComparer<T>? equalityComparer, params ReadOnlySpan<T> items) 129return ImmutableHashSet<T>.Empty.WithComparer(equalityComparer).Union(items); 137public static ImmutableHashSet<T>.Builder CreateBuilder<T>() 150public static ImmutableHashSet<T>.Builder CreateBuilder<T>(IEqualityComparer<T>? equalityComparer) 162public static ImmutableHashSet<TSource> ToImmutableHashSet<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? equalityComparer) 164if (source is ImmutableHashSet<TSource> existingSet) 169return ImmutableHashSet<TSource>.Empty.WithComparer(equalityComparer).Union(source); 177public static ImmutableHashSet<TSource> ToImmutableHashSet<TSource>(this ImmutableHashSet<TSource>.Builder builder) 191public static ImmutableHashSet<TSource> ToImmutableHashSet<TSource>(this IEnumerable<TSource> source)
System\Collections\Immutable\ImmutableHashSet_1.Builder.cs (27)
11/// Contains the inner <see cref="ImmutableHashSet{T}.Builder"/> class. 21/// While <see cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> and other bulk change methods 56private ImmutableHashSet<T>? _immutable; 64/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.Builder"/> class. 67internal Builder(ImmutableHashSet<T> set) 118ImmutableHashSet<T>.MutationResult result = Union(this, new MutationInput(SortedInt32KeyNode<HashBucket>.EmptyNode, value, _hashBucketEqualityComparer, 0)); 192public ImmutableHashSet<T> ToImmutable() 197return _immutable ??= ImmutableHashSet<T>.Wrap(_root, _equalityComparer, _count); 229ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.Add(item, this.Origin); 244ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.Remove(item, this.Origin); 258return ImmutableHashSet<T>.Contains(item, this.Origin); 277ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.Except(other, _equalityComparer, _hashBucketEqualityComparer, _root); 287ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.Intersect(other, this.Origin); 298return ImmutableHashSet<T>.IsProperSubsetOf(other, this.Origin); 308return ImmutableHashSet<T>.IsProperSupersetOf(other, this.Origin); 318return ImmutableHashSet<T>.IsSubsetOf(other, this.Origin); 328return ImmutableHashSet<T>.IsSupersetOf(other, this.Origin); 338return ImmutableHashSet<T>.Overlaps(other, this.Origin); 353return ImmutableHashSet<T>.SetEquals(other, this.Origin); 362ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.SymmetricExcept(other, this.Origin); 372ImmutableHashSet<T>.MutationResult result = ImmutableHashSet<T>.Union(other, this.Origin);
System\Collections\Immutable\ImmutableHashSet_1.cs (41)
19public sealed partial class ImmutableHashSet<T> : IImmutableSet<T>, IReadOnlyCollection<T>, ICollection<T>, ISet<T>, IReadOnlySet<T>, ICollection, IStrongEnumerable<T, ImmutableHashSet<T>.Enumerator> 27public static readonly ImmutableHashSet<T> Empty = new ImmutableHashSet<T>(SortedInt32KeyNode<HashBucket>.EmptyNode, EqualityComparer<T>.Default, 0); 55/// Initializes a new instance of the <see cref="ImmutableHashSet{T}"/> class. 64/// Initializes a new instance of the <see cref="ImmutableHashSet{T}"/> class. 84public ImmutableHashSet<T> Clear() 86return this.IsEmpty ? this : ImmutableHashSet<T>.Empty.WithComparer(_equalityComparer); 181public ImmutableHashSet<T> Add(T item) 183ImmutableHashSet<T>.MutationResult result = Add(item, this.Origin); 190public ImmutableHashSet<T> Remove(T item) 192ImmutableHashSet<T>.MutationResult result = Remove(item, this.Origin); 224public ImmutableHashSet<T> Union(IEnumerable<T> other) 234internal ImmutableHashSet<T> Union(ReadOnlySpan<T> other) 242public ImmutableHashSet<T> Intersect(IEnumerable<T> other) 246ImmutableHashSet<T>.MutationResult result = Intersect(other, this.Origin); 253public ImmutableHashSet<T> Except(IEnumerable<T> other) 257ImmutableHashSet<T>.MutationResult result = Except(other, _equalityComparer, _hashBucketEqualityComparer, _root); 266public ImmutableHashSet<T> SymmetricExcept(IEnumerable<T> other) 270ImmutableHashSet<T>.MutationResult result = SymmetricExcept(other, this.Origin); 416public ImmutableHashSet<T> WithComparer(IEqualityComparer<T>? equalityComparer) 426var result = new ImmutableHashSet<T>(equalityComparer); 619ImmutableHashSet<T>.HashBucket newBucket = bucket.Add(item, origin.EqualityComparer, out result); 625SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newRoot = UpdateRoot(origin.Root, hashCode, origin.HashBucketEqualityComparer, newBucket); 635ImmutableHashSet<T>.OperationResult result = OperationResult.NoChangeRequired; 638SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newRoot = origin.Root; 641ImmutableHashSet<T>.HashBucket newBucket = bucket.Remove(item, origin.EqualityComparer, out result); 676SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newRoot = origin.Root; 682ImmutableHashSet<T>.HashBucket newBucket = bucket.Add(item, origin.EqualityComparer, out result); 699SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newRoot = origin.Root; 705ImmutableHashSet<T>.HashBucket newBucket = bucket.Add(item, origin.EqualityComparer, out result); 784SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newSet = SortedInt32KeyNode<HashBucket>.EmptyNode; 790ImmutableHashSet<T>.MutationResult result = Add(item, new MutationInput(newSet, origin.EqualityComparer, origin.HashBucketEqualityComparer, count)); 809SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> newRoot = root; 836ImmutableHashSet<T> otherAsSet = ImmutableHashSet.CreateRange(origin.EqualityComparer, other); 839SortedInt32KeyNode<ImmutableHashSet<T>.HashBucket> result = SortedInt32KeyNode<HashBucket>.EmptyNode; 844ImmutableHashSet<T>.MutationResult mutationResult = Add(item, new MutationInput(result, origin.EqualityComparer, origin.HashBucketEqualityComparer, count)); 854ImmutableHashSet<T>.MutationResult mutationResult = Add(item, new MutationInput(result, origin.EqualityComparer, origin.HashBucketEqualityComparer, count)); 978private static ImmutableHashSet<T> Wrap(SortedInt32KeyNode<HashBucket> root, IEqualityComparer<T> equalityComparer, int count) 1013private ImmutableHashSet<T> Wrap(SortedInt32KeyNode<HashBucket> root, int adjustedCountIfDifferentRoot) 1023private ImmutableHashSet<T> Union(IEnumerable<T> items, bool avoidWithComparer) 1032if (items is ImmutableHashSet<T> other) 1038ImmutableHashSet<T>.MutationResult result = Union(items, this.Origin);
System\Collections\Immutable\ImmutableHashSet_1.Enumerator.cs (2)
9/// Contains the inner <see cref="ImmutableHashSet{T}.Enumerator"/> class. 39/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.Enumerator"/> struct.
System\Collections\Immutable\ImmutableHashSet_1.HashBucket.cs (2)
10/// Contains the inner <see cref="ImmutableHashSet{T}.HashBucket"/> struct. 274/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.HashBucket.Enumerator"/> struct.
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByRefEqualityComparer.cs (2)
9/// Contains the inner <see cref="ImmutableHashSet{T}.HashBucketByRefEqualityComparer"/> class. 11public sealed partial class ImmutableHashSet<T> : IImmutableSet<T>, IReadOnlyCollection<T>, ICollection<T>, ISet<T>, ICollection, IStrongEnumerable<T, ImmutableHashSet<T>.Enumerator>
System\Collections\Immutable\ImmutableHashSet_1.HashBucketByValueEqualityComparer.cs (2)
9/// Contains the inner <see cref="ImmutableHashSet{T}.HashBucketByValueEqualityComparer"/> class. 11public sealed partial class ImmutableHashSet<T> : IImmutableSet<T>, IReadOnlyCollection<T>, ICollection<T>, ISet<T>, ICollection, IStrongEnumerable<T, ImmutableHashSet<T>.Enumerator>
System\Collections\Immutable\ImmutableHashSet_1.MutationInput.cs (4)
9/// Contains the inner <see cref="ImmutableHashSet{T}.MutationInput"/> class. 40/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.MutationInput"/> struct. 43internal MutationInput(ImmutableHashSet<T> set) 53/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.MutationInput"/> struct.
System\Collections\Immutable\ImmutableHashSet_1.MutationResult.cs (6)
7/// Contains the inner <see cref="ImmutableHashSet{T}.MutationResult"/> class. 50/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.MutationResult"/> struct. 55internal MutationResult(SortedInt32KeyNode<HashBucket> root, int count, CountType countType = ImmutableHashSet<T>.CountType.Adjustment) 94internal ImmutableHashSet<T> Finalize(ImmutableHashSet<T> priorSet) 98if (this.CountType == ImmutableHashSet<T>.CountType.Adjustment)
System\Collections\Immutable\ImmutableHashSet_1.NodeEnumerable.cs (2)
10/// Contains the inner <see cref="ImmutableHashSet{T}.NodeEnumerable"/> class. 25/// Initializes a new instance of the <see cref="ImmutableHashSet{T}.NodeEnumerable"/> struct.
System.Text.Json.SourceGeneration (1)
Helpers\KnownTypeSymbols.cs (1)
106public INamedTypeSymbol? ImmutableHashSetType => GetOrResolveType(typeof(ImmutableHashSet<>), ref _ImmutableHashSetType);
System.Windows.Forms.Tests (1)
System\Windows\Forms\Design\DesignerAttributeTests.cs (1)
18private static ImmutableHashSet<string> SkipList { get; } =
Test.Utilities (130)
AdditionalMetadataReferences.cs (1)
90public static MetadataReference SystemCollectionsImmutableReference { get; } = MetadataReference.CreateFromFile(typeof(ImmutableHashSet<>).Assembly.Location);
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
Text.Analyzers (186)
src\Compilers\Core\Portable\InternalUtilities\MultiDictionary.cs (10)
24private ImmutableHashSet<V>.Enumerator _values; 37var set = v._value as ImmutableHashSet<V>; 121var set = _value as ImmutableHashSet<V>; 134_equalityComparer = equalityComparer ?? ImmutableHashSet<V>.Empty.KeyComparer; 156var set = _value as ImmutableHashSet<V>; 172var set = _value as ImmutableHashSet<V>;
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet.cs (1)
83/// <inheritdoc cref="ImmutableHashSet.ToImmutableHashSet{TSource}(ImmutableHashSet{TSource}.Builder)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1.cs (24)
20/// best for <see cref="ImmutableHashSet{T}"/>.</para> 29/// <description><see cref="ImmutableHashSet{T}"/> Complexity</description> 68/// <inheritdoc cref="ImmutableHashSet{T}.Empty"/> 78/// <inheritdoc cref="ImmutableHashSet{T}.KeyComparer"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Count"/> 86/// <inheritdoc cref="ImmutableHashSet{T}.IsEmpty"/> 107/// <inheritdoc cref="ImmutableHashSet{T}.Add(T)"/> 130/// <inheritdoc cref="ImmutableHashSet{T}.Clear()"/> 143/// <inheritdoc cref="ImmutableHashSet{T}.Contains(T)"/> 147/// <inheritdoc cref="ImmutableHashSet{T}.Except(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.GetEnumerator()"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Intersect(IEnumerable{T})"/> 197/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSubsetOf(IEnumerable{T})"/> 201/// <inheritdoc cref="ImmutableHashSet{T}.IsProperSupersetOf(IEnumerable{T})"/> 205/// <inheritdoc cref="ImmutableHashSet{T}.IsSubsetOf(IEnumerable{T})"/> 209/// <inheritdoc cref="ImmutableHashSet{T}.IsSupersetOf(IEnumerable{T})"/> 213/// <inheritdoc cref="ImmutableHashSet{T}.Overlaps(IEnumerable{T})"/> 217/// <inheritdoc cref="ImmutableHashSet{T}.Remove(T)"/> 235/// <inheritdoc cref="ImmutableHashSet{T}.SetEquals(IEnumerable{T})"/> 239/// <inheritdoc cref="ImmutableHashSet{T}.SymmetricExcept(IEnumerable{T})"/> 265/// <inheritdoc cref="ImmutableHashSet{T}.TryGetValue(T, out T)"/> 278/// <inheritdoc cref="ImmutableHashSet{T}.Union(IEnumerable{T})"/> 297/// <inheritdoc cref="ImmutableHashSet{T}.ToBuilder()"/> 304/// <inheritdoc cref="ImmutableHashSet{T}.WithComparer(IEqualityComparer{T}?)"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Builder.cs (19)
26/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 33/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 38/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 42/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 46/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 50/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 65/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 69/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 73/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 77/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 81/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 89/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 93/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 97/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 101/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 105/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 109/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 113/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+Enumerator.cs (5)
15/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator"/> 27/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Current"/> 32/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Dispose()"/> 36/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.MoveNext()"/> 40/// <inheritdoc cref="ImmutableHashSet{T}.Enumerator.Reset()"/>
src\Dependencies\Collections\Segmented\ImmutableSegmentedHashSet`1+ValueBuilder.cs (19)
37/// <inheritdoc cref="ImmutableHashSet{T}.Builder.KeyComparer"/> 55/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Count"/> 76/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Add(T)"/> 85/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Clear()"/> 102/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Contains(T)"/> 106/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ExceptWith(IEnumerable{T})"/> 167/// <inheritdoc cref="ImmutableHashSet{T}.Builder.GetEnumerator()"/> 171/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IntersectWith(IEnumerable{T})"/> 175/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSubsetOf(IEnumerable{T})"/> 179/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsProperSupersetOf(IEnumerable{T})"/> 183/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSubsetOf(IEnumerable{T})"/> 187/// <inheritdoc cref="ImmutableHashSet{T}.Builder.IsSupersetOf(IEnumerable{T})"/> 191/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Overlaps(IEnumerable{T})"/> 195/// <inheritdoc cref="ImmutableHashSet{T}.Builder.Remove(T)"/> 204/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SetEquals(IEnumerable{T})"/> 208/// <inheritdoc cref="ImmutableHashSet{T}.Builder.SymmetricExceptWith(IEnumerable{T})"/> 212/// <inheritdoc cref="ImmutableHashSet{T}.Builder.TryGetValue(T, out T)"/> 225/// <inheritdoc cref="ImmutableHashSet{T}.Builder.UnionWith(IEnumerable{T})"/> 263/// <inheritdoc cref="ImmutableHashSet{T}.Builder.ToImmutable()"/>
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (1)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (2)
29ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 79public ImmutableHashSet<INamedTypeSymbol> CoupledNamedTypes { get; }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.EventMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.FieldMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.MethodMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamedTypeMetricData.cs (5)
21ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes, 73ImmutableHashSet<IFieldSymbol> filteredFieldsForComplexity = getFilteredFieldsForComplexity(); 109ImmutableHashSet<IFieldSymbol> getFilteredFieldsForComplexity() 111ImmutableHashSet<IFieldSymbol>.Builder? builder = null; 126return builder?.ToImmutable() ?? ImmutableHashSet<IFieldSymbol>.Empty;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (1)
20ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.PropertyMetricData.cs (1)
18ImmutableHashSet<INamedTypeSymbol> coupledNamedTypes,
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\ComputationalComplexityMetrics.cs (36)
25internal static readonly ComputationalComplexityMetrics Default = new(0, 0, 0, 0, 0, ImmutableHashSet<OperationKind>.Empty, 26ImmutableHashSet<BinaryOperatorKind>.Empty, ImmutableHashSet<UnaryOperatorKind>.Empty, ImmutableHashSet<CaseKind>.Empty, ImmutableHashSet<ISymbol>.Empty, ImmutableHashSet<object>.Empty); 30private readonly ImmutableHashSet<OperationKind> _distinctOperatorKinds; 31private readonly ImmutableHashSet<BinaryOperatorKind> _distinctBinaryOperatorKinds; 32private readonly ImmutableHashSet<UnaryOperatorKind> _distinctUnaryOperatorKinds; 33private readonly ImmutableHashSet<CaseKind> _distinctCaseKinds; 34private readonly ImmutableHashSet<ISymbol> _distinctReferencedSymbols; 35private readonly ImmutableHashSet<object> _distinctReferencedConstants; 43ImmutableHashSet<OperationKind> distinctOperatorKinds, 44ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 45ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 46ImmutableHashSet<CaseKind> distinctCaseKinds, 47ImmutableHashSet<ISymbol> distinctReferencedSymbols, 48ImmutableHashSet<object> distinctReferencedConstants) 69ImmutableHashSet<OperationKind> distinctOperatorKinds, 70ImmutableHashSet<BinaryOperatorKind> distinctBinaryOperatorKinds, 71ImmutableHashSet<UnaryOperatorKind> distinctUnaryOperatorKinds, 72ImmutableHashSet<CaseKind> distinctCaseKinds, 73ImmutableHashSet<ISymbol> distinctReferencedSymbols, 74ImmutableHashSet<object> distinctReferencedConstants) 95ImmutableHashSet<OperationKind>.Builder? distinctOperatorKindsBuilder = null; 96ImmutableHashSet<BinaryOperatorKind>.Builder? distinctBinaryOperatorKindsBuilder = null; 97ImmutableHashSet<UnaryOperatorKind>.Builder? distinctUnaryOperatorKindsBuilder = null; 98ImmutableHashSet<CaseKind>.Builder? distinctCaseKindsBuilder = null; 99ImmutableHashSet<ISymbol>.Builder? distinctReferencedSymbolsBuilder = null; 100ImmutableHashSet<object>.Builder? distinctReferencedConstantsBuilder = null; 290distinctOperatorKindsBuilder != null ? distinctOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<OperationKind>.Empty, 291distinctBinaryOperatorKindsBuilder != null ? distinctBinaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<BinaryOperatorKind>.Empty, 292distinctUnaryOperatorKindsBuilder != null ? distinctUnaryOperatorKindsBuilder.ToImmutable() : ImmutableHashSet<UnaryOperatorKind>.Empty, 293distinctCaseKindsBuilder != null ? distinctCaseKindsBuilder.ToImmutable() : ImmutableHashSet<CaseKind>.Empty, 294distinctReferencedSymbolsBuilder != null ? distinctReferencedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty, 295distinctReferencedConstantsBuilder != null ? distinctReferencedConstantsBuilder.ToImmutable() : ImmutableHashSet<object>.Empty);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\MetricsHelper.cs (7)
39internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 40ImmutableHashSet<INamedTypeSymbol> coupledTypes) 48internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 54internal static void AddCoupledNamedTypes(ImmutableHashSet<INamedTypeSymbol>.Builder builder, WellKnownTypeProvider wellKnownTypeProvider, 195ImmutableHashSet<INamedTypeSymbol>.Builder builder, 349private static void AddCoupledNamedTypesCore(ImmutableHashSet<INamedTypeSymbol>.Builder builder, ITypeSymbol typeOpt, 400internal static void RemoveContainingTypes(ISymbol symbol, ImmutableHashSet<INamedTypeSymbol>.Builder coupledTypesBuilder)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\IMethodSymbolExtensions.cs (2)
356private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 372public static bool IsCollectionAddMethod(this IMethodSymbol method, ImmutableHashSet<INamedTypeSymbol> iCollectionTypes)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ImmutableHashSetExtensions.cs (11)
12public static ImmutableHashSet<T> AddRange<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 39public static ImmutableHashSet<T> IntersectSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2) 43return ImmutableHashSet<T>.Empty; 47return set2.Contains(set1.First()) ? set1 : ImmutableHashSet<T>.Empty; 51return set1.Contains(set2.First()) ? set2 : ImmutableHashSet<T>.Empty; 75public static bool IsSubsetOfSet<T>(this ImmutableHashSet<T> set1, ImmutableHashSet<T> set2)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\PooledHashSetExtensions.cs (5)
27public ImmutableHashSet<T> ToImmutableAndFree() 29ImmutableHashSet<T> result; 32result = ImmutableHashSet<T>.Empty; 44public ImmutableHashSet<T> ToImmutable() 45=> Count == 0 ? ImmutableHashSet<T>.Empty : this.ToImmutableHashSet(Comparer);
src\RoslynAnalyzers\Utilities\Compiler\HashUtilities.cs (2)
55internal static int Combine<T>(ImmutableHashSet<T> set) 62internal static void Combine<T>(ImmutableHashSet<T> set, ref RoslynHashCode hashCode)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (11)
26private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 99public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 106public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 111ImmutableHashSet<OutputKind> defaultValue) 114public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 119ImmutableHashSet<SymbolKind> defaultSymbolKinds) 124private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 129ImmutableHashSet<SymbolKind> defaultSymbolKinds) 148private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 154ImmutableHashSet<TEnum> defaultValue) 159static bool TryParseValue(string value, out ImmutableHashSet<TEnum> result)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigParser.cs (2)
20private static ImmutableHashSet<string> ReservedKeys { get; } 32private static ImmutableHashSet<string> ReservedValues { get; }
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\StringExtensions.cs (1)
244public static void AppendToAliasNameSet(this string? alias, ImmutableHashSet<string>.Builder builder)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.AnalysisData.cs (1)
141public abstract bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (4)
75ImmutableHashSet<ILocalSymbol> capturedLocals, 114public ImmutableHashSet<ILocalSymbol> CapturedLocals { get; } 186private static ImmutableHashSet<ILocalSymbol> GetCapturedLocals(ControlFlowGraph cfg) 597public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.OperationTreeAnalysisData.cs (1)
77public override bool TryGetDelegateInvocationTargets(IOperation write, out ImmutableHashSet<IOperation> targets)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageAnalysis.Walker.cs (1)
507if (!_currentAnalysisData.TryGetDelegateInvocationTargets(operation, out var targets))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\FlowAnalysis\SymbolUsageAnalysis\SymbolUsageResult.cs (2)
14ImmutableHashSet<ISymbol> symbolsRead) 38public ImmutableHashSet<ISymbol> SymbolsRead { get; } = symbolsRead;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SemanticFacts\ISemanticFacts.cs (1)
77ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\IDictionaryExtensions.cs (7)
100public static bool MultiAdd<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value, IEqualityComparer<TValue>? comparer = null) 103if (dictionary.TryGetValue(key, out var set)) 105var updated = set.Add(value); 158public static ImmutableDictionary<TKey, ImmutableHashSet<TValue>> MultiRemove<TKey, TValue>(this ImmutableDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value) 161if (dictionary.TryGetValue(key, out var collection)) 200public static void MultiRemove<TKey, TValue>(this IDictionary<TKey, ImmutableHashSet<TValue>> dictionary, TKey key, TValue value)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\SemanticsFactsService\AbstractSemanticFactsService.cs (1)
206public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)