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;
4105 references to ImmutableHashSet
Analyzer.Utilities.UnitTests (1)
FlowAnalysis\Analysis\PropertySetAnalysis\PropertySetAnalysisTests.cs (1)
45public ImmutableHashSet<string> TypesToTrack { get; }
AnalyzerRunner (11)
CodeRefactoringRunner.cs (5)
30private readonly ImmutableDictionary<string, ImmutableHashSet<int>> _syntaxKinds; 77var syntaxKinds = _syntaxKinds[document.Project.Language]; 125private static ImmutableDictionary<string, ImmutableHashSet<int>> GetSyntaxKinds(ImmutableHashSet<string> refactoringNodes) 133var 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
495public static string GetGeneratedRouteBuilderExtensionsSource(string endpoints, string helperMethods, string helperTypes, ImmutableHashSet<string> verbs) => $$""" 628public static string GetVerbs(ImmutableHashSet<string> verbs)
Microsoft.Build (22)
Construction\Solution\SolutionProjectGenerator.cs (1)
80internal static readonly ImmutableHashSet<string> _defaultTargetNames = ImmutableHashSet.Create(StringComparer.OrdinalIgnoreCase,
Definition\Project.cs (1)
2541private ImmutableHashSet<string>.Builder _fragmentStrings;
Evaluation\LazyItemEvaluator.cs (10)
180public void Apply(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore) 235private void AddItemsToCache(ImmutableHashSet<string> globsToIgnore, OrderedItemDataCollection items) 257public ImmutableList<I> GetMatchedItems(ImmutableHashSet<string> globsToIgnore) 271public OrderedItemDataCollection.Builder GetItemData(ImmutableHashSet<string> globsToIgnore) 317private static OrderedItemDataCollection.Builder ComputeItems(LazyItemList lazyItemList, ImmutableHashSet<string> globsToIgnore) 325Stack<ImmutableHashSet<string>> globsToIgnoreStack = null; 329var globsToIgnoreFromFutureOperations = globsToIgnoreStack?.Peek() ?? globsToIgnore; 343globsToIgnoreStack ??= new Stack<ImmutableHashSet<string>>(); 362ImmutableHashSet<string> currentGlobsToIgnore = globsToIgnoreStack == null ? globsToIgnore : globsToIgnoreStack.Peek(); 502return _itemLists.Values.SelectMany(itemList => itemList.GetItemData(ImmutableHashSet<string>.Empty))
Evaluation\LazyItemEvaluator.EvaluatorData.cs (1)
52? items.GetMatchedItems(globsToIgnore: ImmutableHashSet<string>.Empty)
Evaluation\LazyItemEvaluator.IItemOperation.cs (1)
14void Apply(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore);
Evaluation\LazyItemEvaluator.IncludeOperation.cs (2)
38protected override ImmutableArray<I> SelectItems(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore) 151private static ISet<string> BuildExcludePatternsForGlobs(ImmutableHashSet<string> globsToIgnore, ImmutableList<string>.Builder excludePatterns)
Evaluation\LazyItemEvaluator.LazyItemOperation.cs (3)
55public void Apply(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore) 65protected virtual void ApplyImpl(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore) 75protected virtual ImmutableArray<I> SelectItems(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore)
Evaluation\LazyItemEvaluator.RemoveOperation.cs (2)
44protected override void ApplyImpl(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore) 95public ImmutableHashSet<string>.Builder GetRemovedGlobs()
Evaluation\LazyItemEvaluator.UpdateOperation.cs (1)
44protected override void ApplyImpl(OrderedItemDataCollection.Builder listBuilder, ImmutableHashSet<string> globsToIgnore)
Microsoft.Build.Engine.OM.UnitTests (8)
Definition\Project_Tests.cs (8)
21using GlobResultList = System.Collections.Generic.List<(string, string[], System.Collections.Immutable.ImmutableHashSet<string>, System.Collections.Immutable.ImmutableHashSet<string>)>; 3655var expectedExcludes = new[] { "1", "*", "3" }.ToImmutableHashSet(); 3795var expectedExcludes = new[] { "1", "*", "3" }.ToImmutableHashSet(); 3798("A", expectedIncludes, expectedExcludes, ImmutableHashSet<string>.Empty) 3821("A", new []{"*"}, new[] {"*"}.ToImmutableHashSet(), ImmutableHashSet<string>.Empty), 3850("A", new []{"*"}, ImmutableHashSet<string>.Empty, ImmutableHashSet<string>.Empty)
Microsoft.Build.Engine.UnitTests (1)
EvaluationProfiler_Tests.cs (1)
254var allUniqueIds = allIds.ToImmutableHashSet();
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; 155_lazyAnalyzersSet = new Lazy<ImmutableHashSet<DiagnosticAnalyzer>>(CreateAnalyzersSet); 179private ImmutableHashSet<DiagnosticAnalyzer> CreateAnalyzersSet() => Analyzers.ToImmutableHashSet();
DiagnosticAnalyzer\AnalyzerDriver.cs (41)
92private ImmutableHashSet<DiagnosticAnalyzer>? _lazyUnsuppressedAnalyzers; 97protected ImmutableHashSet<DiagnosticAnalyzer> UnsuppressedAnalyzers 132private ImmutableHashSet<DiagnosticAnalyzer>? _lazyCompilationEndAnalyzers; 133private ImmutableHashSet<DiagnosticAnalyzer> CompilationEndAnalyzers 184private ImmutableHashSet<DiagnosticAnalyzer>? _lazyNonConfigurableAndCustomConfigurableAnalyzers; 189private ImmutableHashSet<DiagnosticAnalyzer> NonConfigurableAndCustomConfigurableAnalyzers 198private ImmutableHashSet<DiagnosticAnalyzer>? _lazySymbolStartAnalyzers; 203private ImmutableHashSet<DiagnosticAnalyzer> SymbolStartAnalyzers 245private Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>>? _lazyGeneratedCodeSymbolsForTreeMap; 250private Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>> GeneratedCodeSymbolsForTreeMap 259private ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>>? _lazySuppressedAnalyzersForTreeMap; 264private ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>> SuppressedAnalyzersForTreeMap 417_lazyGeneratedCodeSymbolsForTreeMap = new Dictionary<SyntaxTree, ImmutableHashSet<ISymbol>>(); 420_lazySuppressedAnalyzersForTreeMap = new ConcurrentDictionary<SyntaxTree, ImmutableHashSet<DiagnosticAnalyzer>>(); 529private ImmutableHashSet<DiagnosticAnalyzer> ComputeNonConfigurableAndCustomConfigurableAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers, CancellationToken cancellationToken) 548private ImmutableHashSet<DiagnosticAnalyzer> ComputeSymbolStartAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers) 563ImmutableHashSet<DiagnosticAnalyzer> analyzers, 581private static bool ComputeShouldTreatAllCodeAsNonGeneratedCode(ImmutableHashSet<DiagnosticAnalyzer> analyzers, ImmutableSegmentedDictionary<DiagnosticAnalyzer, GeneratedCodeAnalysisFlags> generatedCodeAnalysisFlagsMap) 896var analyzersSuppressedForSomeTree = SuppressedAnalyzersForTreeMap.SelectMany(kvp => kvp.Value).ToImmutableHashSet(); 929var effectiveSeverities = GetEffectiveSeverities(descriptor, AnalyzerExecutor.Compilation, AnalyzerExecutor.AnalyzerOptions, cancellationToken); 938static ImmutableHashSet<ReportDiagnostic> GetEffectiveSeverities( 1261var generatedCodeSymbolsInTree = getOrComputeGeneratedCodeSymbolsInTree(location.SourceTree, compilation, cancellationToken); 1285ImmutableHashSet<ISymbol> getOrComputeGeneratedCodeSymbolsInTree(SyntaxTree tree, Compilation compilation, CancellationToken cancellationToken) 1290ImmutableHashSet<ISymbol>? generatedCodeSymbols; 1303ImmutableHashSet<ISymbol>? existingGeneratedCodeSymbols; 1316static ImmutableHashSet<ISymbol> computeGeneratedCodeSymbolsInTree(SyntaxTree tree, Compilation compilation, INamedTypeSymbol generatedCodeAttribute, CancellationToken cancellationToken) 1322return ImmutableHashSet<ISymbol>.Empty; 1329ImmutableHashSet<ISymbol>.Builder? generatedSymbolsBuilder = null; 1342return generatedSymbolsBuilder != null ? generatedSymbolsBuilder.ToImmutable() : ImmutableHashSet<ISymbol>.Empty; 1355if (!SuppressedAnalyzersForTreeMap.TryGetValue(tree, out var suppressedAnalyzers)) 1363private ImmutableHashSet<DiagnosticAnalyzer> ComputeSuppressedAnalyzersForTree(SyntaxTree tree, SyntaxTreeOptionsProvider? options, CancellationToken cancellationToken) 1367return ImmutableHashSet<DiagnosticAnalyzer>.Empty; 1370ImmutableHashSet<DiagnosticAnalyzer>.Builder? suppressedAnalyzersBuilder = null; 1419return suppressedAnalyzersBuilder != null ? suppressedAnalyzersBuilder.ToImmutable() : ImmutableHashSet<DiagnosticAnalyzer>.Empty; 1495private static ImmutableHashSet<DiagnosticAnalyzer> MakeCompilationEndAnalyzers(ImmutableArray<(DiagnosticAnalyzer, ImmutableArray<CompilationAnalyzerAction>)> compilationEndActionsByAnalyzer) 2021private static async Task<(AnalyzerActions actions, ImmutableHashSet<DiagnosticAnalyzer> unsuppressedAnalyzers)> GetAnalyzerActionsAsync( 2042var unsuppressedAnalyzers = unsuppressedAnalyzersBuilder.ToImmutableHashSet(); 2223ImmutableHashSet<DiagnosticAnalyzer> analyzers, 2248ImmutableHashSet<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)
1420Func<string, TypedConstant, bool, (bool IsCallConvs, ImmutableHashSet<INamedTypeSymbolInternal>? CallConvs)> unmanagedCallersOnlyDecoder) 1431var unmanagedConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 1505internal ImmutableHashSet<string> GetStringValuesOfNotNullIfNotNullAttribute(EntityHandle token) 1509var 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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, 89ImmutableHashSet<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)
38private static readonly ImmutableHashSet<OperationKind> s_DisposableCreationKinds = ImmutableHashSet.Create( 45private readonly ImmutableHashSet<INamedTypeSymbol> _disposeOwnershipTransferLikelyTypes; 46private ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>? _lazyDisposableFieldsMap; 71ImmutableHashSet<INamedTypeSymbol>.Empty; 74private static ImmutableHashSet<INamedTypeSymbol> GetDisposeOwnershipTransferLikelyTypes(Compilation compilation) 93Interlocked.CompareExchange(ref _lazyDisposableFieldsMap, new ConcurrentDictionary<INamedTypeSymbol, ImmutableHashSet<IFieldSymbol>>(), null); 180public ImmutableHashSet<IFieldSymbol> GetDisposableFields(INamedTypeSymbol namedType) 185if (_lazyDisposableFieldsMap.TryGetValue(namedType, out ImmutableHashSet<IFieldSymbol> disposableFields)) 192disposableFields = 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 = 26public static ImmutableHashSet<CaptureId> GetOrCreateLValueFlowCaptures(ControlFlowGraph cfg) 29private 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.CodeStyle (123)
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 (8)
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) 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)
207public 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 (129)
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 (7)
696ImmutableHashSet<INamedTypeSymbolInternal> actualUnmanagedCallingConventionTypes; 701actualUnmanagedCallingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty; 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); 3166var trackingSet = UsageOfUsingsRecordedInTrees; 3209var current = UsageOfUsingsRecordedInTrees; 3218var updated = current.Add(tree); 3231var 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)
1378private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam) 7294ImmutableHashSet<string>? returnNotNullIfParameterNotNull = IsAnalyzingAttribute ? null : method?.ReturnNotNullIfParameterNotNull; 8039var 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)
195public 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)
175public 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)
89internal 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)
913internal override ImmutableHashSet<string> NotNullIfParameterNotNull
Symbols\MethodSymbol.cs (4)
251public abstract ImmutableHashSet<string> ReturnNotNullIfParameterNotNull { get; } 991internal static (bool IsCallConvs, ImmutableHashSet<INamedTypeSymbolInternal>? CallConvs) TryDecodeUnmanagedCallersOnlyCallConvsField( 998ImmutableHashSet<INamedTypeSymbolInternal>? callingConventionTypes = null; 1007callingConventionTypes = ImmutableHashSet<INamedTypeSymbolInternal>.Empty;
Symbols\ParameterSymbol.cs (1)
409internal abstract ImmutableHashSet<string> NotNullIfParameterNotNull { get; }
Symbols\ReducedExtensionMethodSymbol.cs (1)
499public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => _reducedFrom.ReturnNotNullIfParameterNotNull;
Symbols\SignatureOnlyMethodSymbol.cs (2)
81public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => ImmutableHashSet<string>.Empty;
Symbols\SignatureOnlyParameterSymbol.cs (1)
93internal 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)
153internal override ImmutableHashSet<string> NotNullIfParameterNotNull 155get { return ImmutableHashSet<string>.Empty; }
Symbols\Source\SourceComplexParameterSymbol.cs (2)
194internal override ImmutableHashSet<string> NotNullIfParameterNotNull 195=> 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)
112public override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull 113=> GetDecodedReturnTypeWellKnownAttributeData()?.NotNullIfParameterNotNull ?? ImmutableHashSet<string>.Empty; 1433ImmutableHashSet<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)
78internal sealed override ImmutableHashSet<string> NotNullIfParameterNotNull 80get { 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)
125internal override ImmutableHashSet<string> NotNullIfParameterNotNull 127get { return ImmutableHashSet<string>.Empty; } 425internal 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; 2396internal ImmutableHashSet<Symbol> AbstractMembers 2408private ImmutableHashSet<Symbol> ComputeAbstractMembers() 2410var abstractMembers = ImmutableHashSet.Create<Symbol>(); 2411var overriddenMembers = ImmutableHashSet.Create<Symbol>();
Symbols\Wrapped\WrappedMethodSymbol.cs (1)
324public sealed override ImmutableHashSet<string> ReturnNotNullIfParameterNotNull => UnderlyingMethod.ReturnNotNullIfParameterNotNull;
Symbols\Wrapped\WrappedParameterSymbol.cs (1)
150internal 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 (5)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\CSharpUseCollectionExpressionForFluentDiagnosticAnalyzer.cs (1)
57nameof(ImmutableHashSet<int>),
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
41public static readonly ImmutableHashSet<string?> BannedTypes = [
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 (1)
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
48var documentImmutableSet = ImmutableHashSet.Create(document);
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 (37)
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)
113internal static ImmutableHashSet<char> CommonTriggerCharacters { get; } = ['.', '#', '>', ':']; 115internal static ImmutableHashSet<char> CommonTriggerCharactersWithArgumentList { get; } = ['.', '#', '>', ':', '(', '[', ' ']; 134internal 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)
301var currentParameterNames = baseMethod.ParameterList.Parameters.Select(p => p.Identifier.ValueText).ToImmutableHashSet();
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (2)
36private static readonly ImmutableHashSet<char> s_triggerCharacters = [' ', '[', '(', '~']; 59public 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)
31public 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)
80public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
Completion\CompletionProviders\PartialTypeCompletionProvider.cs (1)
55public 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 (2)
114var initializedFieldsAndProperties = await GetExistingAssignedFieldsOrPropertiesAsync().ConfigureAwait(false); 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<int>),
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
41public static readonly ImmutableHashSet<string?> BannedTypes = [
src\Analyzers\CSharp\CodeFixes\MakeLocalFunctionStatic\MakeLocalFunctionStaticCodeFixHelper.cs (1)
48var documentImmutableSet = ImmutableHashSet.Create(document);
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 (4)
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)
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 (8)
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)
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.EditorFeatures2.UnitTests (26)
IntelliSense\CSharpCompletionCommandHandlerTests.vb (21)
4244Dim slowProvider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of SlowProvider)().Single() 5133Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of BooleanTaskControlledCompletionProvider)().Single() 5184Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of BooleanTaskControlledCompletionProvider)().Single() 5260Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of BooleanTaskControlledCompletionProvider)().Single() 5329Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of BooleanTaskControlledCompletionProvider)().Single() 5846Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of MultipleChangeCompletionProvider)().Single() 5914Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of MultipleChangeCompletionProvider)().Single() 6646Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 6671Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 6701Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 6730Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 6755Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockWeirdProvider)().Single() 6780Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockWeirdProvider)().Single() 6807Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 6857Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of IntelliCodeMockProvider)().Single() 9538Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TestMatchPriorityCompletionProvider)().Single() 9570Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TestMatchPriorityCompletionProvider)().Single() 10295Dim notifyProvider As NotifyCommittingItemCompletionProvider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of NotifyCommittingItemCompletionProvider)().Single() 10378Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TestProvider)().Single() 10433Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TestProvider)().Single() 10487Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TestProvider)().Single()
IntelliSense\CSharpCompletionCommandHandlerTests_DefaultsSource.vb (2)
668Optional roles As ImmutableHashSet(Of String) = Nothing, 694Optional roles As ImmutableHashSet(Of String) = Nothing) As Boolean
IntelliSense\VisualBasicCompletionCommandHandlerTests.vb (3)
407Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TriggeredCompletionProvider)().Single() 445Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TriggeredCompletionProvider)().Single() 479Dim provider = completionService.GetTestAccessor().GetImportedAndBuiltInProviders(ImmutableHashSet(Of String).Empty).OfType(Of TriggeredCompletionProvider)().Single()
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 (102)
CodeFixes\Configuration\ConfigurationUpdater.cs (1)
385if (IDEDiagnosticIdToOptionMappingHelper.TryGetMappedOptions(diagnostic.Id, project.Language, out var options))
CodeFixes\Service\CodeFixService.FixAllDiagnosticProvider.cs (2)
21private readonly ImmutableHashSet<string>? _diagnosticIds; 24public FixAllDiagnosticProvider(ImmutableHashSet<string> diagnosticIds)
Completion\CommonCompletionUtilities.cs (1)
229internal static ImmutableHashSet<char> GetTriggerCharacters(CompletionProvider provider)
Completion\CompletionContext.cs (1)
59/// 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) 403public 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)
41ImmutableHashSet<string>? roles = null, 68ImmutableHashSet<string>? roles = null, 130Document 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)
53Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForIdsAsync(Project project, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken); 70Task<ImmutableArray<DiagnosticData>> GetProjectDiagnosticsForIdsAsync(Project project, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken);
Diagnostics\Service\DiagnosticAnalyzerService.cs (2)
121Project project, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) 127Project project, ImmutableHashSet<string>? diagnosticIds,
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer.HostAnalyzerInfo.cs (10)
26var referenceIdsToRedirect = GetReferenceIdsToRedirectAsProjectAnalyzers(solution, project); 30static HostAnalyzerInfo CreateLanguageSpecificAnalyzerMap(HostAnalyzerInfoKey arg, (HostDiagnosticAnalyzers HostAnalyzers, ImmutableHashSet<object> ReferenceIdsToRedirect) state) 43ImmutableHashSet<object> referenceIdsToRedirectAsProjectAnalyzers) 69private static ImmutableHashSet<object> GetReferenceIdsToRedirectAsProjectAnalyzers( 82static ImmutableHashSet<object> GetFeaturesAnalyzerReferenceIds(HostDiagnosticAnalyzers hostAnalyzers) 103private readonly ImmutableHashSet<DiagnosticAnalyzer> _hostAnalyzers; 104private readonly ImmutableHashSet<DiagnosticAnalyzer> _allAnalyzers; 108ImmutableHashSet<DiagnosticAnalyzer> hostAnalyzers, 109ImmutableHashSet<DiagnosticAnalyzer> allAnalyzers) 123public HostAnalyzerInfo WithExcludedAnalyzers(ImmutableHashSet<DiagnosticAnalyzer> excludedAnalyzers)
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer.StateManager.cs (2)
61private static (ImmutableHashSet<DiagnosticAnalyzer> hostAnalyzers, ImmutableHashSet<DiagnosticAnalyzer> allAnalyzers) PartitionAnalyzers(
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer.StateManager.ProjectStates.cs (2)
29public readonly ImmutableHashSet<DiagnosticAnalyzer> Analyzers; 35ImmutableHashSet<DiagnosticAnalyzer> analyzers,
Diagnostics\Service\EngineV2\DiagnosticIncrementalAnalyzer_GetDiagnostics.cs (3)
21public Task<ImmutableArray<DiagnosticData>> GetDiagnosticsForIdsAsync(Project project, DocumentId? documentId, ImmutableHashSet<string>? diagnosticIds, Func<DiagnosticAnalyzer, bool>? shouldIncludeAnalyzer, bool includeLocalDocumentDiagnostics, bool includeNonLocalDocumentDiagnostics, CancellationToken cancellationToken) 37ImmutableHashSet<string>? diagnosticIds, 53ImmutableHashSet<string>? diagnosticIds,
EditAndContinue\DebuggingSession.cs (1)
962public ImmutableHashSet<Guid> GetModulesPreparedForUpdate()
EditAndContinue\EditAndContinueDiagnosticDescriptors.cs (1)
29private static readonly ImmutableHashSet<string> s_noEffectDiagnosticIds;
EditAndContinue\EditSession.cs (2)
692MergePartialEdits(oldCompilation, newCompilation, allEdits, out var mergedEdits, out var addedSymbols, cancellationToken); 712out 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)
297.FindReferencesAsync(symbol, document.Project.Solution, ImmutableHashSet<Document>.Empty.Add(document), cancellationToken) 361var localSymbolsInCallee = LocalVariableDeclarationVisitor 389public static ImmutableHashSet<ISymbol> GetAllSymbols(
InlineMethod\AbstractInlineMethodRefactoringProvider.MethodParametersInfo.cs (1)
442.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 (8)
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) 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 (4)
36private readonly Lazy<ImmutableHashSet<int>> _lazySupportedCompilerErrorCodes; 41_lazySupportedCompilerErrorCodes = new Lazy<ImmutableHashSet<int>>(GetSupportedCompilerErrorCodes); 51private ImmutableHashSet<int> GetSupportedCompilerErrorCodes() 390ImmutableHashSet<string> idsToAnalyze,
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
145private readonly ImmutableHashSet<INamedTypeSymbol?> _attributeSetForMethodsToIgnore;
src\Analyzers\Core\Analyzers\RemoveUnusedParametersAndValues\AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.cs (2)
26ImmutableHashSet<INamedTypeSymbol> attributeSetForMethodsToIgnore, 34private readonly ImmutableHashSet<INamedTypeSymbol> _attributeSetForMethodsToIgnore = attributeSetForMethodsToIgnore;
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)
584CodeAnalysis.Completion.CompletionOptions options, OptionSet passThroughOptions, ImmutableHashSet<string> roles = null) 595CompletionTrigger trigger = default, ImmutableHashSet<string> roles = null, CancellationToken cancellationToken = default) 877CodeAnalysis.Completion.CompletionOptions options, OptionSet passThroughOptions, ImmutableHashSet<string> roles = null) 888CompletionTrigger trigger = default, ImmutableHashSet<string> roles = null, CancellationToken cancellationToken = default)
Completion\CompletionResolveTests.cs (2)
493ImmutableHashSet<string> roles = null, 510internal 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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 (3)
DeclarePublicApiFix.cs (3)
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)
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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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.VisualBasic.Analyzers (2)
MetaAnalyzers\BasicReportDiagnosticAnalyzer.vb (2)
15Protected Overrides Function GetAnalyzer(contextTypes As ImmutableHashSet(Of INamedTypeSymbol), 26Public Sub New(contextTypes As ImmutableHashSet(Of INamedTypeSymbol),
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (1)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SemanticFacts\VisualBasicSemanticFacts.vb (1)
148Public Function GetAliasNameSet(model As SemanticModel, cancellationToken As CancellationToken) As ImmutableHashSet(Of String) Implements ISemanticFacts.GetAliasNameSet
Microsoft.CodeAnalysis.VisualBasic.Features (24)
Completion\CompletionProviders\AwaitCompletionProvider.vb (1)
29Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CommonTriggerChars
Completion\CompletionProviders\CompletionUtilities.vb (3)
17Friend ReadOnly CommonTriggerChars As ImmutableHashSet(Of Char) = ImmutableHashSet.Create("."c, "["c, "#"c, " "c, "="c, "<"c, "{"c) 19Friend ReadOnly CommonTriggerCharsAndParen As ImmutableHashSet(Of Char) = CommonTriggerChars.Add("("c) 21Friend ReadOnly SpaceTriggerChar As ImmutableHashSet(Of Char) = CommonTriggerChars.Add(" "c)
Completion\CompletionProviders\CrefCompletionProvider.vb (1)
49Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerChars
Completion\CompletionProviders\EnumCompletionProvider.vb (1)
88Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet.Create(" "c, "("c, "="c)
Completion\CompletionProviders\HandlesClauseCompletionProvider.vb (1)
72Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerChars
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (1)
33Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerChars
Completion\CompletionProviders\ImportCompletionProvider\ExtensionMethodImportCompletionProvider.vb (1)
42Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CommonTriggerCharsAndParen
Completion\CompletionProviders\ImportCompletionProvider\TypeImportCompletionProvider.vb (1)
37Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CommonTriggerCharsAndParen
Completion\CompletionProviders\KeywordCompletionProvider.vb (1)
180Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerCharsAndParen
Completion\CompletionProviders\NamedParameterCompletionProvider.vb (1)
42Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerChars
Completion\CompletionProviders\ObjectCreationCompletionProvider.vb (1)
37Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.SpaceTriggerChar
Completion\CompletionProviders\ObjectInitializerCompletionProvider.vb (1)
102Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet.Create("."c)
Completion\CompletionProviders\OverrideCompletionProvider.vb (1)
68Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.SpaceTriggerChar
Completion\CompletionProviders\PartialTypeCompletionProvider.vb (1)
54Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerChars
Completion\CompletionProviders\PreprocessorCompletionProvider.vb (1)
34Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CommonTriggerCharsAndParen
Completion\CompletionProviders\SymbolCompletionProvider.vb (1)
86Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = CompletionUtilities.CommonTriggerCharsAndParen
Completion\CompletionProviders\XmlDocCommentCompletionProvider.vb (1)
57Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet.Create("<"c, "/"c, """"c, " "c)
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.vb (5)
16Private Shared ReadOnly s_emptyAliasedNames As ImmutableHashSet(Of String) = ImmutableHashSet.Create(Of String)(CaseInsensitiveComparison.Comparer) 18Private Shared ReadOnly s_predefinedTypeMetadataNames As ImmutableHashSet(Of String) = ImmutableHashSet.Create( 52Private ReadOnly _aliasedNames As ImmutableHashSet(Of String) 88Private Shared Function GetAliasedNames(compilationUnit As CompilationUnitSyntax) As ImmutableHashSet(Of String) 108Private Shared Sub AddAliasedName(ByRef aliasedNames As ImmutableHashSet(Of String), simpleImportsClause As SimpleImportsClauseSyntax)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (5)
CaseCorrection\VisualBasicCaseCorrectionService.Rewriter.vb (3)
17Private ReadOnly _createAliasSet As Func(Of ImmutableHashSet(Of String)) = 44Private ReadOnly _aliasSet As Lazy(Of ImmutableHashSet(Of String)) 51Me._aliasSet = New Lazy(Of ImmutableHashSet(Of String))(_createAliasSet)
Rename\VisualBasicRenameRewriterLanguageService.vb (1)
47Private ReadOnly _conflictLocations As ImmutableHashSet(Of TextSpan)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SemanticFacts\VisualBasicSemanticFacts.vb (1)
148Public Function GetAliasNameSet(model As SemanticModel, cancellationToken As CancellationToken) As ImmutableHashSet(Of String) Implements ISemanticFacts.GetAliasNameSet
Microsoft.CodeAnalysis.Workspaces (229)
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\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)
208var 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 (8)
114var conflictLocations = ImmutableHashSet<ConflictLocationInfo>.Empty; 306ImmutableHashSet<ConflictLocationInfo> conflictLocations) 344var nonConflictSymbols = await GetNonConflictSymbolsAsync(currentProject).ConfigureAwait(false); 468private async Task<ImmutableHashSet<ISymbol>?> GetNonConflictSymbolsAsync(Project currentProject) 478ImmutableArray<ISymbol> symbols, ImmutableHashSet<ISymbol>? nonConflictSymbols) 699private async Task<(ImmutableHashSet<DocumentId> documentIds, ImmutableArray<string> possibleNameConflicts)> FindDocumentsAndPossibleNameConflictsAsync() 807var 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)
207public 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.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.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 (28)
CallHierarchy\Finders\AbstractCallFinder.cs (1)
141return ImmutableHashSet<Document>.Empty;
CommonControls\MemberSelectionViewModel.cs (1)
168private 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 (7)
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; 510if (!latestDocumentDiagnosticsMap.TryGetValue(document.Id, out var latestDocumentDiagnostics))
TaskList\ExternalErrorDiagnosticUpdateSource.cs (8)
318private readonly Dictionary<ProjectId, ImmutableHashSet<string>> _allDiagnosticIdMap = []; 331private static ImmutableHashSet<string> GetOrCreateDiagnosticIds( 333Dictionary<ProjectId, ImmutableHashSet<string>> diagnosticIdMap, 334Func<ImmutableHashSet<string>> computeDiagnosticIds) 338if (diagnosticIdMap.TryGetValue(projectId, out var ids)) 344var computedIds = computeDiagnosticIds(); 353private ImmutableHashSet<string> GetOrCreateSupportedDiagnosticIds(ProjectId projectId) 357ImmutableHashSet<string> ComputeSupportedDiagnosticIds()
Microsoft.VisualStudio.LanguageServices.CSharp (1)
Interactive\CSharpInteractiveWindowCommandCompletionProvider.cs (1)
45public override ImmutableHashSet<char> TriggerCharacters { get; } = CompletionUtilities.SpaceTriggerCharacter;
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)
Microsoft.VisualStudio.LanguageServices.UnitTests (2)
Diagnostics\ExternalDiagnosticUpdateSourceTests.vb (2)
319Public Function GetDiagnosticsForIdsAsync(project As Project, documentId As DocumentId, diagnosticIds As ImmutableHashSet(Of String), shouldIncludeAnalyzer As Func(Of DiagnosticAnalyzer, Boolean), includeLocalDocumentDiagnostics As Boolean, includeNonLocalDocumentDiagnostics As Boolean, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of DiagnosticData)) Implements IDiagnosticAnalyzerService.GetDiagnosticsForIdsAsync 323Public Function GetProjectDiagnosticsForIdsAsync(project As Project, diagnosticIds As ImmutableHashSet(Of String), shouldIncludeAnalyzer As Func(Of DiagnosticAnalyzer, Boolean), includeNonLocalDocumentDiagnostics As Boolean, cancellationToken As CancellationToken) As Task(Of ImmutableArray(Of DiagnosticData)) Implements IDiagnosticAnalyzerService.GetProjectDiagnosticsForIdsAsync
Microsoft.VisualStudio.LanguageServices.VisualBasic (2)
Snippets\SnippetCompletionProvider.vb (2)
94Public Overrides ReadOnly Property TriggerCharacters As ImmutableHashSet(Of Char) = ImmutableHashSet(Of Char).Empty
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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
SymbolDeclaredEventMustBeGeneratedForSourceSymbols.cs (1)
102protected abstract ImmutableHashSet<string> SymbolTypesWithExpectedSymbolDeclaredEvent { get; }
Roslyn.Diagnostics.CSharp.Analyzers (5)
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)
Roslyn.Diagnostics.VisualBasic.Analyzers (3)
BasicSymbolDeclaredEventMustBeGeneratedForSourceSymbols.vb (2)
44Private Shared ReadOnly s_symbolTypesWithExpectedSymbolDeclaredEvent As ImmutableHashSet(Of String) = 53Protected Overrides ReadOnly Property SymbolTypesWithExpectedSymbolDeclaredEvent As ImmutableHashSet(Of String)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SemanticFacts\VisualBasicSemanticFacts.vb (1)
148Public Function GetAliasNameSet(model As SemanticModel, cancellationToken As CancellationToken) As ImmutableHashSet(Of String) Implements ISemanticFacts.GetAliasNameSet
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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
358private static readonly ImmutableHashSet<string> s_collectionAddMethodNameVariants = 374public 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)
28private static readonly ImmutableHashSet<OutputKind> s_defaultOutputKinds = 101public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 108public static ImmutableHashSet<OutputKind> GetOutputKindsOption( 113ImmutableHashSet<OutputKind> defaultValue) 116public static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 121ImmutableHashSet<SymbolKind> defaultSymbolKinds) 126private static ImmutableHashSet<SymbolKind> GetAnalyzedSymbolKindsOption( 131ImmutableHashSet<SymbolKind> defaultSymbolKinds) 150private static ImmutableHashSet<TEnum> GetNonFlagsEnumOptionValue<TEnum>( 156ImmutableHashSet<TEnum> defaultValue) 161static 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)
207public ImmutableHashSet<string> GetAliasNameSet(SemanticModel model, CancellationToken cancellationToken)
xunit.assert (2)
SetAsserts.cs (2)
112 ImmutableHashSet<T> set) => 219 ImmutableHashSet<T> set) =>