10 implementations of INamespaceSymbol
GenerateDocumentationAndConfigFiles (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Microsoft.CodeAnalysis.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Microsoft.CodeAnalysis.BannedApiAnalyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Microsoft.CodeAnalysis.CSharp (1)
Symbols\PublicModel\NamespaceSymbol.cs (1)
13internal sealed class NamespaceSymbol : NamespaceOrTypeSymbol, INamespaceSymbol
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\NamespaceSymbol.vb (1)
20Implements INamespaceSymbol, INamespaceSymbolInternal
Microsoft.CodeAnalysis.Workspaces (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Roslyn.Diagnostics.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
Text.Analyzers (1)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (1)
14internal sealed class CodeGenerationNamespaceSymbol(string name, IList<INamespaceOrTypeSymbol> members) : CodeGenerationNamespaceOrTypeSymbol(null, null, default, Accessibility.NotApplicable, default, name), INamespaceSymbol
1717 references to INamespaceSymbol
Analyzer.Utilities.UnitTests (2)
Lightup\LightupHelpersTests.cs (1)
108INamespaceSymbol ISymbol.ContainingNamespace => throw new NotImplementedException();
Options\SymbolNamesWithValueOptionTests.cs (1)
396var currentNamespace = innerClassSymbol.ContainingNamespace;
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\BinderInvocation.cs (1)
61ContainingNamespace: INamespaceSymbol containingNamespace,
GenerateDocumentationAndConfigFiles (78)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Metrics (42)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Metrics.Legacy (40)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (3)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context),
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.AspNetCore.Analyzers (2)
ConfigureMethodVisitor.cs (2)
32public override void VisitNamespace(INamespaceSymbol symbol) 39foreach (var @namespace in symbol.GetNamespaceMembers())
Microsoft.AspNetCore.App.Analyzers (1)
RouteHandlers\DetectMisplacedLambdaAttribute.cs (1)
55static bool IsInValidNamespace(INamespaceSymbol? @namespace)
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentInternalUsageDiagnosticAnalzyer.cs (1)
41var @namespace = symbol?.ContainingNamespace;
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
ComponentInternalUsageDiagnosticAnalzyer.cs (1)
41var @namespace = symbol?.ContainingNamespace;
Microsoft.AspNetCore.OpenApi.SourceGenerators (1)
Helpers\AssemblyTypeSymbolsVisitor.cs (1)
34public override void VisitNamespace(INamespaceSymbol symbol)
Microsoft.CodeAnalysis (40)
Compilation\Compilation.cs (12)
366public INamespaceSymbol CreateErrorNamespaceSymbol(INamespaceSymbol container, string name) 381protected abstract INamespaceSymbol CommonCreateErrorNamespaceSymbol(INamespaceSymbol container, string name); 942public INamespaceSymbol GlobalNamespace { get { return CommonGlobalNamespace; } } 943protected abstract INamespaceSymbol CommonGlobalNamespace { get; } 948public INamespaceSymbol? GetCompilationNamespace(INamespaceSymbol namespaceSymbol) 953protected abstract INamespaceSymbol? CommonGetCompilationNamespace(INamespaceSymbol namespaceSymbol); 1046INamespaceSymbol container = this.SourceModule.GlobalNamespace; 1050INamespaceSymbol? next = container.GetNestedNamespace(parts[i]);
Compilation\SymbolInfo.cs (2)
70Debug.Assert(symbol is null || symbol.Kind != SymbolKind.Namespace || ((INamespaceSymbol)symbol).NamespaceKind != NamespaceKindNamespaceGroup); 73Debug.Assert(item.Kind != SymbolKind.Namespace || ((INamespaceSymbol)item).NamespaceKind != NamespaceKindNamespaceGroup);
DiagnosticAnalyzer\AnalysisScope.cs (1)
223!((symbol.Kind == SymbolKind.Namespace && ((INamespaceSymbol)symbol).IsGlobalNamespace));
DiagnosticAnalyzer\AnalyzerManager.AnalyzerExecutionContext.cs (1)
192processMembers(((INamespaceSymbol)symbol).GetMembers());
DiagnosticAnalyzer\SuppressMessageAttributeState.cs (2)
177return hasNamespaceSuppression((INamespaceSymbol)symbol, inImmediatelyContainingSymbol); 194bool hasNamespaceSuppression(INamespaceSymbol namespaceSymbol, bool inImmediatelyContainingSymbol)
DocumentationCommentId.cs (5)
76if (symbol is INamespaceSymbol) 323/// This will always succeed for a <see cref="INamespaceSymbol"/> or <see cref="INamedTypeSymbol"/>. It may not 375public override void VisitNamespace(INamespaceSymbol symbol) 505public override bool VisitNamespace(INamespaceSymbol symbol) 572public override bool VisitNamespace(INamespaceSymbol symbol)
src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (2)
55if (declaredSymbol is INamespaceSymbol namespaceSymbol && namespaceSymbol.ConstituentNamespaces.Length > 1) 58var assemblyScopedNamespaceSymbol = namespaceSymbol.ConstituentNamespaces.FirstOrDefault(ns => ns.ContainingAssembly == assemblyToScope);
SymbolDisplay\AbstractSymbolDisplayVisitor.cs (1)
201((INamespaceSymbol)containingSymbol.ContainingSymbol).IsGlobalNamespace)
Symbols\IAssemblySymbol.cs (1)
35INamespaceSymbol GlobalNamespace { get; }
Symbols\IModuleSymbol.cs (3)
23INamespaceSymbol GlobalNamespace { get; } 28INamespaceSymbol? GetModuleNamespace(INamespaceSymbol namespaceSymbol);
Symbols\INamespaceSymbol.cs (2)
33IEnumerable<INamespaceSymbol> GetNamespaceMembers(); 60ImmutableArray<INamespaceSymbol> ConstituentNamespaces { get; }
Symbols\ISymbol.cs (2)
91/// Gets the <see cref="INamespaceSymbol"/> for the nearest enclosing namespace. Returns null if the 94INamespaceSymbol ContainingNamespace { get; }
Symbols\ISymbolExtensions.cs (3)
93internal static INamespaceSymbol? GetNestedNamespace(this INamespaceSymbol container, string name) 99return (INamespaceSymbol)sym;
Symbols\SymbolVisitor.cs (1)
78public virtual void VisitNamespace(INamespaceSymbol symbol)
Symbols\SymbolVisitor`1.cs (1)
81public virtual TResult? VisitNamespace(INamespaceSymbol symbol)
Symbols\SymbolVisitor`2.cs (1)
86public virtual TResult VisitNamespace(INamespaceSymbol symbol, TArgument argument)
Microsoft.CodeAnalysis.Analyzers (98)
src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (6)
277foreach (var currentNamespace in GetContainingNamespaces(type)) 296static IEnumerable<INamespaceSymbol> GetContainingNamespaces(ISymbol symbol) 298INamespaceSymbol? currentNamespace = symbol.ContainingNamespace; 302foreach (var constituent in currentNamespace.ConstituentNamespaces) 447if (symbol is not INamespaceSymbol namespaceSymbol) 453foreach (var constituent in namespaceSymbol.ConstituentNamespaces)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Microsoft.CodeAnalysis.AnalyzerUtilities (42)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.CodeAnalysis.BannedApiAnalyzers (106)
RestrictedInternalsVisibleToAnalyzer.cs (8)
64var namespaceToIsBannedMap = new ConcurrentDictionary<INamespaceSymbol, /*isBanned*/bool>(); 191ConcurrentDictionary<INamespaceSymbol, bool> namespaceToIsBannedMap) 207ConcurrentDictionary<INamespaceSymbol, bool> namespaceToIsBannedMap) 220var currentNamespace = symbol.ContainingNamespace; 246INamespaceSymbol? startNamespace, 247INamespaceSymbol? uptoNamespace, 248ConcurrentDictionary<INamespaceSymbol, bool> namespaceToIsBannedMap, 251var currentNamespace = startNamespace;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
SymbolIsBannedAnalyzerBase.cs (6)
277foreach (var currentNamespace in GetContainingNamespaces(type)) 296static IEnumerable<INamespaceSymbol> GetContainingNamespaces(ISymbol symbol) 298INamespaceSymbol? currentNamespace = symbol.ContainingNamespace; 302foreach (var constituent in currentNamespace.ConstituentNamespaces) 447if (symbol is not INamespaceSymbol namespaceSymbol) 453foreach (var constituent in namespaceSymbol.ConstituentNamespaces)
Microsoft.CodeAnalysis.CodeStyle (25)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.CodeAnalysis.CodeStyle.Fixes (50)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Microsoft.CodeAnalysis.CSharp (52)
Compilation\CSharpCompilation.cs (7)
330protected override INamespaceSymbol CommonCreateErrorNamespaceSymbol(INamespaceSymbol container, string name) 1442internal new NamespaceSymbol? GetCompilationNamespace(INamespaceSymbol namespaceSymbol) 1451var containingNamespace = namespaceSymbol.ContainingNamespace; 3983protected override INamespaceSymbol CommonGlobalNamespace 4062protected override INamespaceSymbol? CommonGetCompilationNamespace(INamespaceSymbol namespaceSymbol)
Compilation\CSharpSemanticModel.cs (2)
2970public abstract INamespaceSymbol GetDeclaredSymbol(NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 2979public abstract INamespaceSymbol GetDeclaredSymbol(FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken));
Compilation\MemberSemanticModel.cs (2)
592public override INamespaceSymbol GetDeclaredSymbol(NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 598public override INamespaceSymbol GetDeclaredSymbol(FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SpeculativeSemanticModelWithMemberModel.cs (2)
255public override INamespaceSymbol GetDeclaredSymbol(NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 260public override INamespaceSymbol GetDeclaredSymbol(FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SyntaxTreeSemanticModel.cs (3)
1306public override INamespaceSymbol GetDeclaredSymbol(NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1314public override INamespaceSymbol GetDeclaredSymbol(FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default) 2466Debug.Assert(((INamespaceSymbol)declaredSymbol).IsGlobalNamespace);
CSharpExtensions.cs (2)
1361public static INamespaceSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1372public static INamespaceSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (3)
91INamespaceSymbol nsSymbol = declInfo.DeclaredSymbol as INamespaceSymbol; 95var declaredSymbol = getSymbol ? nsSymbol?.ContainingNamespace : null;
SymbolDisplay\SymbolDisplayVisitor.cs (5)
165public override void VisitNamespace(INamespaceSymbol symbol) 186var containingNamespace = symbol.ContainingNamespace; 204private void AddGlobalNamespace(INamespaceSymbol globalNamespace) 426var namespaceSymbol = containingSymbol as INamespaceSymbol;
SymbolDisplay\SymbolDisplayVisitor.Types.cs (2)
286var namespaceSymbol = (INamespaceSymbol)containingSymbol;
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (3)
59private void MinimallyQualify(INamespaceSymbol symbol) 88var containingNamespace = symbol.ContainingNamespace == null 144var containingNamespace = symbol.ContainingNamespace == null
Symbols\ModuleSymbol.cs (1)
335public NamespaceSymbol GetModuleNamespace(INamespaceSymbol namespaceSymbol)
Symbols\PublicModel\AssemblySymbol.cs (1)
21INamespaceSymbol IAssemblySymbol.GlobalNamespace
Symbols\PublicModel\ModuleSymbol.cs (3)
24INamespaceSymbol IModuleSymbol.GlobalNamespace 32INamespaceSymbol IModuleSymbol.GetModuleNamespace(INamespaceSymbol namespaceSymbol)
Symbols\PublicModel\NamespaceSymbol.cs (9)
27bool INamespaceSymbol.IsGlobalNamespace => _underlying.IsGlobalNamespace; 29NamespaceKind INamespaceSymbol.NamespaceKind => _underlying.NamespaceKind; 31Compilation INamespaceSymbol.ContainingCompilation => _underlying.ContainingCompilation; 33ImmutableArray<INamespaceSymbol> INamespaceSymbol.ConstituentNamespaces 41IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers() 49IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 57IEnumerable<INamespaceSymbol> INamespaceSymbol.GetNamespaceMembers()
Symbols\PublicModel\PreprocessingSymbol.cs (1)
112INamespaceSymbol? ISymbol.ContainingNamespace => null;
Symbols\PublicModel\Symbol.cs (1)
209INamespaceSymbol ISymbol.ContainingNamespace => UnderlyingSymbol.ContainingNamespace.GetPublicSymbol();
Symbols\SymbolExtensions.cs (5)
401internal static NamespaceSymbol? EnsureCSharpSymbolOrNull(this INamespaceSymbol? symbol, string paramName) 574internal static INamespaceSymbol? GetPublicSymbol(this NamespaceSymbol? symbol) 576return symbol.GetPublicSymbol<INamespaceSymbol>(); 746internal static ImmutableArray<INamespaceSymbol> GetPublicSymbols(this ImmutableArray<NamespaceSymbol> symbols) 748return GetPublicSymbols<INamespaceSymbol>(StaticCast<Symbol>.From(symbols));
Microsoft.CodeAnalysis.CSharp.CodeStyle (4)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location) 164var result = new HashSet<INamespaceSymbol>(); 172if (symbolInfo.Symbol is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
321ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (31)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
267protected override TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 735INamespaceSymbol @namespace, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (8)
27INamespaceSymbol @namespace, 47INamespaceSymbol @namespace, 68INamespaceSymbol @namespace, 73GetNameAndInnermostNamespace(@namespace, info, out var name, out var innermostNamespace); 98string name, INamespaceSymbol innermostNamespace, 119INamespaceSymbol @namespace, 120INamespaceSymbol innermostNamespace, 139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (18)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 44ImmutableArray<INamespaceSymbol> namespaceSymbols, 45HashSet<INamespaceSymbol> conflicts, 52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model) 56if (symbol != null && symbol.Kind != SymbolKind.Namespace && model.GetSymbolInfo(namespacePart).Symbol is INamespaceSymbol) 59var ns = symbol.ContainingNamespace; 85private readonly MultiDictionary<(string name, int arity), INamespaceSymbol> _importedTypes = []; 97private readonly MultiDictionary<string, INamespaceSymbol> _importedExtensionMethods = []; 101ImmutableArray<INamespaceSymbol> namespaceSymbols) 108private void AddImportedMembers(ImmutableArray<INamespaceSymbol> namespaceSymbols) 110foreach (var ns in namespaceSymbols) 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 134await ProducerConsumer<INamespaceSymbol>.RunParallelAsync( 151await foreach (var conflict in items.ConfigureAwait(false)) 213private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 218foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 223private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 256foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (18)
SymbolKey\SymbolKeyCompilationsTests.cs (18)
130var ns = comp.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 157var ns = comp.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 185var ns = comp.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 212var ns = comp.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 241var ns = comp.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 521var namespace1 = comp1.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 524var namespace2 = comp2.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 629var namespace1 = comp1.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol; 632var namespace2 = comp2.SourceModule.GlobalNamespace.GetMembers("NS").Single() as INamespaceSymbol;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
CodeGen\CodeGenTupleTest.cs (1)
6224var ns = comp.CreateErrorNamespaceSymbol(comp.GlobalNamespace, "a");
Microsoft.CodeAnalysis.CSharp.Features (17)
AddImport\CSharpAddImportFeatureService.cs (2)
233protected override ISet<INamespaceSymbol> GetImportNamespacesInScope( 523var containingNamespaceSymbol = semanticModel.GetDeclaredSymbol(namespaceToAddTo);
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (6)
177var system = compilation.GlobalNamespace.GetMembers(nameof(System)).OfType<INamespaceSymbol>().FirstOrDefault(); 178var systemCollections = system?.GetMembers(nameof(System.Collections)).OfType<INamespaceSymbol>().FirstOrDefault(); 187foreach (var childNamespace in systemCollections.GetNamespaceMembers()) 196static bool Check(INamespaceSymbol? namespaceSymbol, string name)
Completion\CompletionProviders\FunctionPointerUnmanagedCallingConventionCompletionProvider.cs (1)
97var compilerServicesNamespace = semanticModel.Compilation.GlobalNamespace.GetQualifiedNamespace("System.Runtime.CompilerServices");
DecompiledSource\CSharpDecompiledSourceService.cs (1)
113symbol is not null and not INamespaceSymbol { IsGlobalNamespace: true };
GenerateType\CSharpGenerateTypeService.cs (3)
542public override async Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync( 555if (enclosingNamespaceSymbol.Symbol is INamespaceSymbol namespaceSymbol) 560var globalNamespace = semanticModel.GetEnclosingNamespace(0, cancellationToken);
QuickInfo\CSharpSemanticQuickInfoProvider.cs (1)
240if (symbol is null or INamespaceSymbol)
src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (3)
91INamespaceSymbol nsSymbol = declInfo.DeclaredSymbol as INamespaceSymbol; 95var declaredSymbol = getSymbol ? nsSymbol?.ContainingNamespace : null;
Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests (1)
InteractiveSessionTests.cs (1)
1192Assert.True(import.NamespaceOrType is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true });
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (15)
Semantics\AccessCheckTests.cs (3)
737INamespaceSymbol globalNS = c.GlobalNamespace; 859INamespaceSymbol otherGlobalNS = otherC.GlobalNamespace; 898INamespaceSymbol globalNS = c1.GlobalNamespace;
Semantics\LocalFunctionTests.cs (2)
1790.GetMember<INamespaceSymbol>("System") 1865.GetMember<INamespaceSymbol>("System")
Semantics\LookupTests.cs (6)
1394var systemNS = (INamespaceSymbol)actual_lookupSymbols.Where((sym) => sym.Name.Equals("System") && sym.Kind == SymbolKind.Namespace).Single(); 1395INamespaceSymbol systemXmlNS = systemNS.GetNestedNamespace("Xml"); 1524var namespaceX = (INamespaceSymbol)actual_lookupSymbols.Where((sym) => sym.Name.Equals("X") && sym.Kind == SymbolKind.Namespace).Single(); 1527INamespaceSymbol namespaceY = namespaceX.GetNestedNamespace("Y");
Semantics\TopLevelStatementsTests.cs (4)
712Assert.True(((INamespaceSymbol)local.ContainingSymbol.ContainingSymbol.ContainingSymbol).IsGlobalNamespace); 4228Assert.True(((INamespaceSymbol)local.ContainingSymbol.ContainingSymbol.ContainingSymbol).IsGlobalNamespace); 4906Assert.True(((INamespaceSymbol)label.ContainingSymbol.ContainingSymbol.ContainingSymbol).IsGlobalNamespace); 4991Assert.True(((INamespaceSymbol)label.ContainingSymbol.ContainingSymbol.ContainingSymbol).IsGlobalNamespace);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (144)
Compilation\CompilationAPITests.cs (1)
1326comp.GetCompilationNamespace(namespaceSymbol: (INamespaceSymbol)null);
Compilation\GetImportScopesTests.cs (36)
55Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 71Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 102Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 130Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 147Assert.True(scopes.Single().Imports.Any(i => i.NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) })); 148Assert.True(scopes.Single().Imports.Any(i => i.NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) })); 175Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 198Assert.True(scopes[0].Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) }); 200Assert.True(scopes[1].Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 226Assert.True(scopes[0].Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) }); 228Assert.True(scopes[1].Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 244Assert.True(scopes.Single().Aliases.Single() is { Name: "S", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) } }); 291Assert.True(scopes.Single().Aliases.Single() is { Name: "S", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) } }); 336Assert.True(scopes.Single().Aliases.Any(a => a is { Name: "S", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) } })); 337Assert.True(scopes.Single().Aliases.Any(a => a is { Name: "M", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) } })); 364Assert.True(scopes.Single().Aliases.Single() is { Name: "S", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) } }); 387Assert.True(scopes[0].Aliases.Single() is { Name: "M", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) } }); 389Assert.True(scopes[1].Aliases.Single() is { Name: "S", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) } }); 437Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 459Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 480Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 499Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 516Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 536Assert.True(scopes.Single().ExternAliases.Any(a => a is { Name: "CORE1", Target: INamespaceSymbol { IsGlobalNamespace: true } })); 537Assert.True(scopes.Single().ExternAliases.Any(a => a is { Name: "CORE2", Target: INamespaceSymbol { IsGlobalNamespace: true } })); 567Assert.True(scopes.Single().ExternAliases.Single() is { Name: "CORE1", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 593Assert.True(scopes[0].ExternAliases.Single() is { Name: "CORE2", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 595Assert.True(scopes[1].ExternAliases.Single() is { Name: "CORE1", Target: INamespaceSymbol { IsGlobalNamespace: true } }); 622Assert.True(scopes.Single().Aliases.Single() is { Name: "M", Target: INamespaceSymbol { Name: nameof(Microsoft) } }); 625Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 648Assert.True(scopes.Single().Imports.Single().NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) }); 652Assert.True(scopes.Single().Aliases.Single() is { Name: "M", Target: INamespaceSymbol { Name: nameof(Microsoft) } }); 682Assert.True(scopes.Single().Imports.Any(i => i.NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(System) })); 684Assert.True(scopes.Single().Imports.Any(i => i.NamespaceOrType is INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: false, Name: nameof(System.IO) })); 688Assert.True(scopes.Single().Aliases.Any(i => i is { Name: "M", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: true, Name: nameof(Microsoft) } })); 690Assert.True(scopes.Single().Aliases.Any(i => i is { Name: "T", Target: INamespaceSymbol { ContainingNamespace.IsGlobalNamespace: false, Name: nameof(System.Threading) } }));
Compilation\GetSemanticInfoTests.cs (7)
1390return (INamedTypeSymbol)comp.GlobalNamespace.GetMember<INamespaceSymbol>("System").GetMembers("Action").Where(s => !((INamedTypeSymbol)s).IsGenericType).Single(); 4428var global = compilation.GlobalNamespace; 4482var global = compilation.GlobalNamespace; 4528var global = compilation.GlobalNamespace; 4676var global = comp.GlobalNamespace; 4721var global = comp.GlobalNamespace; 5722var global = comp.GlobalNamespace;
Compilation\SemanticModelAPITests.cs (9)
408var symbol = model.GetDeclaredSymbol(nsSyntax); 429var symbol = model.GetDeclaredSymbol(nsSyntax); 757var global = comp.GlobalNamespace; 825var bInner = (comp.GlobalNamespace.GetMembers("N").Single() as INamespaceSymbol).GetTypeMembers("B", 0).Single(); 1235Assert.Equal(symbol.Target, comp.GlobalNamespace.GetMember<INamespaceSymbol>("System")); 1270var aliasTarget = (INamespaceSymbol)aliasSymbol.Target; 3883var target = (INamespaceSymbol)((IAliasSymbol)symbol).Target;
Compilation\SemanticModelGetDeclaredSymbolAPITests.cs (39)
106var symbol = model.GetDeclaredSymbol(decl); 940var nsSymbol = model.GetDeclaredSymbol(nsDecl); 960var nsSymbol01 = model.GetDeclaredSymbol(nsDecl); 2786var globalNS = compilation.SourceModule.GlobalNamespace; 2787var n1 = globalNS.GetMembers("NS").First() as INamespaceSymbol; 2907var globalNS = compilation.SourceModule.GlobalNamespace; 2908var n1 = globalNS.GetMembers().First() as INamespaceSymbol; 2909var n2 = n1.GetMembers().First() as INamespaceSymbol; 2910var n3 = n2.GetMembers().First() as INamespaceSymbol; 2913var dn1 = model.GetDeclaredSymbol(nsSyntax); 2916var dn23 = model.GetDeclaredSymbol(nsSyntax23); 2937var compSym = compilation.GlobalNamespace.GetMembers("System").First() as INamespaceSymbol; 2940var declsym = model.GetDeclaredSymbol(nsSyntax); 2969var globalNS = compilation.SourceModule.GlobalNamespace; 3018var globalNS = compilation.SourceModule.GlobalNamespace; 3019var ns1 = globalNS.GetMembers("NS").Single() as INamespaceSymbol; 3075var globalNS = compilation.SourceModule.GlobalNamespace; 3076var ns1 = globalNS.GetMembers("NS").Single() as INamespaceSymbol; 3111var nsg = comp.GlobalNamespace; 3112var ns1 = nsg.GetMembers("NS1").Single() as INamespaceSymbol; 3113var ns2 = ns1.GetMembers("NS2").Single() as INamespaceSymbol; 3117var dsym1 = model.GetDeclaredSymbol(nsSyntax1); 3118var dsym2 = model.GetDeclaredSymbol(nsSyntax2); 3141var globalNS = compilation.SourceModule.GlobalNamespace; 3740var declSymbol = model.GetDeclaredSymbol(decl); 3752var declSymbol2 = model.GetDeclaredSymbol(decl2); 4531var @namespace = compilation.GlobalNamespace.GetMember<INamespaceSymbol>("Goo"); 4568var @namespace = compilation.GlobalNamespace.GetMember<INamespaceSymbol>("Goo");
Compilation\SemanticModelGetSemanticInfoTests.cs (5)
1350type = compilation.GlobalNamespace.GetMember<INamespaceSymbol>("N2").GetMember<INamedTypeSymbol>("C"); 1388type = compilation.GlobalNamespace.GetMember<INamespaceSymbol>("N").GetMember<INamedTypeSymbol>("C"); 4381Assert.True(((INamespaceSymbol)semanticInfo.Type.ContainingSymbol).IsGlobalNamespace); 11640Assert.True(((INamespaceSymbol)semanticInfo.Symbol).IsGlobalNamespace); 11674Assert.True(((INamespaceSymbol)semanticInfo.Symbol).IsGlobalNamespace);
Compilation\SymbolVisitorTests.cs (3)
136public override void VisitNamespace(INamespaceSymbol symbol) 317public override string VisitNamespace(INamespaceSymbol symbol) 408public override int VisitNamespace(INamespaceSymbol symbol, StringBuilder argument)
DocumentationComments\CrefTests.cs (2)
4980var global = compilation.GlobalNamespace; 5844GetMember<INamespaceSymbol>("System").GetMembers("Action").OfType<INamedTypeSymbol>().
SymbolDisplay\SymbolDisplayTests.cs (2)
5801var global = comp.GlobalNamespace; 6005var global = comp.GlobalNamespace;
Symbols\ExtensionMethodTests.cs (2)
2948var globalNamespace = compilation.GlobalNamespace; 3006var globalNamespace = compilation.GlobalNamespace;
Symbols\MethodEqualityTests.cs (1)
200var global = comp.GlobalNamespace;
Symbols\Source\BaseClassTests.cs (2)
263var global = comp.GlobalNamespace; 300var global = comp.GlobalNamespace;
Symbols\Source\DeclaringSyntaxNodeTests.cs (22)
93if (symbol.Kind == SymbolKind.Namespace && ((INamespaceSymbol)symbol).IsGlobalNamespace) 189var global = comp.GlobalNamespace; 190var n1 = global.GetMembers("N1").Single() as INamespaceSymbol; 233var global = comp.GlobalNamespace; 234var n1 = global.GetMembers("N1").Single() as INamespaceSymbol; 408var global = comp.GlobalNamespace; 409var system = global.GetMembers("System").Single() as INamespaceSymbol; 410var n1 = global.GetMembers("N1").Single() as INamespaceSymbol; 411var n2 = n1.GetMembers("N2").Single() as INamespaceSymbol; 412var n3 = n2.GetMembers("N3").Single() as INamespaceSymbol; 448var global = comp.GlobalNamespace; 449var n1 = global.GetMembers("N1").Single() as INamespaceSymbol; 515var global = comp.GlobalNamespace; 516var n1 = global.GetMembers("N1").Single() as INamespaceSymbol;
Symbols\Source\ExternAliasTests.cs (7)
411return (INamespaceSymbol)aliasSymbol.Target; 414var firstTarget = targets.First(); 437return (INamespaceSymbol)aliasSymbol.Target; 440var firstTarget = targets.First(); 484var aliasedGlobalNamespace = ((IAssemblySymbol)comp.GetAssemblyOrModuleSymbol(libRef)).GlobalNamespace; 485var namespaceN = aliasedGlobalNamespace.GetMember<INamespaceSymbol>("N");
Symbols\Source\FileModifierTests.cs (2)
3659var nsSymbol = compilation.GetMember<NamespaceSymbol>("NS").GetPublicSymbol(); 3731var nsSymbol = compilation.GetMember<NamespaceSymbol>("NS").GetPublicSymbol();
Symbols\Source\UsingAliasTests.cs (4)
392var global = (INamespaceSymbol)alias.ContainingSymbol; 413var global = (INamespaceSymbol)alias.ContainingSymbol;
Microsoft.CodeAnalysis.CSharp.Test.Utilities (4)
Extensions.cs (4)
800public static INamespaceSymbol CreateErrorNamespaceSymbol(this CSharpCompilation comp, NamespaceSymbol container, string name) 859public static INamespaceSymbol GetNestedNamespace(this INamespaceSymbol ns, string name) 865return (INamespaceSymbol)sym;
Microsoft.CodeAnalysis.CSharp.Workspaces (41)
Classification\SyntaxClassification\NameSyntaxClassifier.cs (1)
132if (symbol is INamespaceSymbol namespaceSymbol &&
Recommendations\CSharpRecommendationServiceRunner.cs (2)
314return symbols.WhereAsArray(static s => s is INamespaceSymbol); 584: symbols.WhereAsArray(s => s is INamespaceSymbol));
Rename\CSharpRenameRewriterLanguageService.cs (1)
379if (!isRenameLocation && symbol is INamespaceSymbol && token.GetPreviousToken().IsKind(SyntaxKind.NamespaceKeyword))
Simplification\CSharpSimplificationService.Expander.cs (2)
462if (aliasTarget is INamespaceSymbol { IsGlobalNamespace: true }) 828if (symbol == null || symbol is INamespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location) 164var result = new HashSet<INamespaceSymbol>(); 172if (symbolInfo.Symbol is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
321ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
267protected override TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 735INamespaceSymbol @namespace, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (8)
27INamespaceSymbol @namespace, 47INamespaceSymbol @namespace, 68INamespaceSymbol @namespace, 73GetNameAndInnermostNamespace(@namespace, info, out var name, out var innermostNamespace); 98string name, INamespaceSymbol innermostNamespace, 119INamespaceSymbol @namespace, 120INamespaceSymbol innermostNamespace, 139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (18)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 44ImmutableArray<INamespaceSymbol> namespaceSymbols, 45HashSet<INamespaceSymbol> conflicts, 52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model) 56if (symbol != null && symbol.Kind != SymbolKind.Namespace && model.GetSymbolInfo(namespacePart).Symbol is INamespaceSymbol) 59var ns = symbol.ContainingNamespace; 85private readonly MultiDictionary<(string name, int arity), INamespaceSymbol> _importedTypes = []; 97private readonly MultiDictionary<string, INamespaceSymbol> _importedExtensionMethods = []; 101ImmutableArray<INamespaceSymbol> namespaceSymbols) 108private void AddImportedMembers(ImmutableArray<INamespaceSymbol> namespaceSymbols) 110foreach (var ns in namespaceSymbols) 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 134await ProducerConsumer<INamespaceSymbol>.RunParallelAsync( 151await foreach (var conflict in items.ConfigureAwait(false)) 213private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 218foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 223private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 256foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (16)
CodeGeneration\CodeGenerationTests.cs (4)
45var @namespace = CodeGenerationSymbolFactory.CreateNamespaceSymbol(name, imports, members); 50(INamespaceSymbol)testContext.GetDestination(), 526(INamespaceSymbol)testContext.GetDestination(), 668testContext.Result = await testContext.Service.AddNamespaceOrTypeAsync(solutionContext, (INamespaceSymbol)destination, symbol, CancellationToken.None);
MetadataAsSource\MetadataAsSourceTests.cs (1)
1806var namespaceSymbol = CodeGenerationSymbolFactory.CreateNamespaceSymbol("Outerspace");
SymbolFinder\SymbolFinderTests.cs (1)
795var namespaceSymbol = baseInterfaceSymbol.ContainingNamespace;
Utilities\SymbolEquivalenceComparerTests.cs (10)
931var outer1 = (INamespaceSymbol)(await workspace1.CurrentSolution.Projects.Single().GetCompilationAsync()).GlobalNamespace.GetMembers("Outer").Single(); 932var outer2 = (INamespaceSymbol)(await workspace2.CurrentSolution.Projects.Single().GetCompilationAsync()).GlobalNamespace.GetMembers("Outer").Single(); 934var inner1 = (INamespaceSymbol)outer1.GetMembers("Inner").Single(); 935var inner2 = (INamespaceSymbol)outer2.GetMembers("Inner").Single(); 1828var namespace1 = (await workspace1.CurrentSolution.Projects.Single().GetCompilationAsync()).GlobalNamespace.GetNamespaceMembers().Single(n => n.Name == "N").GetNamespaceMembers().Single(n => n.Name == "M"); 1829var namespace2 = (await workspace2.CurrentSolution.Projects.Single().GetCompilationAsync()).GlobalNamespace.GetNamespaceMembers().Single(n => n.Name == "N").GetNamespaceMembers().Single(n => n.Name == "M");
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AbstractTypeParameterChecker.cs (1)
140public sealed override void VisitNamespace(INamespaceSymbol symbol)
Microsoft.CodeAnalysis.Extensions.Package (10)
Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.CodeAnalysis.Features (73)
AddImport\AbstractAddImportFeatureService.cs (2)
51protected abstract ISet<INamespaceSymbol> GetImportNamespacesInScope(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 508return symbol.IsNamespace ? !((INamespaceSymbol)symbol).IsGlobalNamespace : true;
AddImport\SymbolReferenceFinder.cs (19)
35private readonly ISet<INamespaceSymbol> _namespacesInScope; 76private ISet<INamespaceSymbol> GetNamespacesInScope(CancellationToken cancellationToken) 83for (var containingNamespace = _semanticModel.GetEnclosingNamespace(_node.SpanStart, cancellationToken); 93private INamespaceSymbol MapToCompilationNamespaceIfPossible(INamespaceSymbol containingNamespace) 174/// to the <see cref="INamespaceSymbol"/>s or <see cref="INamedTypeSymbol"/>s those types are 221var typesContainedDirectlyInNamespaces = accessibleTypeSymbols.WhereAsArray(s => s.Symbol.ContainingSymbol is INamespaceSymbol); 260/// to the <see cref="INamespaceSymbol"/>s those namespaces are contained in. 274var namespaceSymbols = OfType<INamespaceSymbol>(symbols); 275var containingNamespaceSymbols = OfType<INamespaceSymbol>(symbols).SelectAsArray(s => s.WithSymbol(s.Symbol.ContainingNamespace)); 350/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 409/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 440/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 464/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 489/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 514/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 539/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 603SearchScope scope, ImmutableArray<SymbolResult<INamespaceSymbol>> namespaces) 609var symbol = namespaceResult.Symbol;
Common\TaggedText.cs (1)
115if (alias.Target is INamespaceSymbol)
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (2)
81if (symbol is INamespaceSymbol) 106if (symbol is INamespaceSymbol or ITypeParameterSymbol)
Completion\Providers\ImportCompletionProvider\AbstractImportCompletionProvider.cs (2)
76var namespaceSymbol = semanticModel.GetEnclosingNamespace(syntaxContext.Position, cancellationToken); 105if (import.NamespaceOrType is INamespaceSymbol @namespace)
Completion\Providers\ImportCompletionProvider\AbstractTypeImportCompletionService.cs (3)
254INamespaceSymbol rootNamespaceSymbol, 262INamespaceSymbol symbol, 270foreach (var memberNamespace in symbol.GetNamespaceMembers())
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionHelper.cs (3)
130using var _1 = PooledDictionary<INamespaceSymbol, string>.GetInstance(out var namespaceNameCache); 215private static string GetFullyQualifiedNamespaceName(INamespaceSymbol symbol, Dictionary<INamespaceSymbol, string> stringCache)
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (3)
276var containingNamespace = container is TNamespaceDeclarationSyntax namespaceDecl 277? (INamespaceSymbol)semanticModel.GetRequiredDeclaredSymbol(namespaceDecl, cancellationToken) 329INamespaceSymbol containingNamespace, NamingRule parameterNamingRule,
Debugging\AbstractBreakpointResolver.cs (2)
162case INamespaceSymbol namespaceSymbol: 296INamespaceSymbol namespaceSymbol => namespaceSymbol.GetMembers().SelectMany(GetTypeMembersRecursive),
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (1)
5126while (oldContainer is not null and not INamespaceSymbol { IsGlobalNamespace: true })
FindUsages\DefinitionItemFactory.cs (3)
180if (definition is INamespaceSymbol namespaceSymbol) 194foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces) 228if (definition is IAssemblySymbol or IModuleSymbol or INamespaceSymbol { IsGlobalNamespace: true } or IPreprocessingSymbol)
FullyQualify\AbstractFullyQualifyService.cs (6)
175.OfType<INamespaceSymbol>() 266=> symbol.ContainingSymbol is INamespaceSymbol or INamedTypeSymbol { IsGenericType: false }; 268private bool BindsWithoutErrors(INamespaceSymbol ns, string? rightName, bool isAttributeName) 288private static bool HasAccessibleTypes(INamespaceSymbol @namespace, SemanticModel model, CancellationToken cancellationToken) 297if (containingSymbol is INamespaceSymbol namespaceSymbol) 311.Where(n => n.Symbol is INamedTypeSymbol or INamespaceSymbol { IsGlobalNamespace: false })
FullyQualify\AbstractFullyQualifyService.SymbolResult.cs (2)
48Debug.Assert(Symbol is INamespaceSymbol || !((INamedTypeSymbol)Symbol).IsGenericType); 49Debug.Assert(other.Symbol is INamespaceSymbol || !((INamedTypeSymbol)other.Symbol).IsGenericType);
GenerateType\AbstractGenerateTypeService.cs (4)
64public abstract Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync(INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken); 140var containingNamespace = semanticDocument.SemanticModel.GetEnclosingNamespace(node.SpanStart, cancellationToken); 161var containingNamespace = document.SemanticModel.GetEnclosingNamespace(node.SpanStart, cancellationToken); 277var namespaceSymbol = semanticModel.GetEnclosingNamespace(triggeringPosition, cancellationToken);
GenerateType\AbstractGenerateTypeService.Editor.cs (3)
280var enclosingNamespace = newSemanticModel.GetEnclosingNamespace(0, _cancellationToken); 387var enclosingNamespace = _semanticDocument.SemanticModel.GetEnclosingNamespace( 416(INamespaceSymbol, INamespaceOrTypeSymbol, Location) enclosingNamespaceGeneratedTypeToAddAndLocation;
GenerateType\AbstractGenerateTypeService.State.cs (2)
362var namespaceSymbol = semanticModel.GetEnclosingNamespace(SimpleName.SpanStart, cancellationToken); 385if (symbol is INamespaceSymbol)
GenerateType\IGenerateTypeService.cs (1)
16Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync(INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken);
GoToDefinition\GoToDefinitionFeatureHelpers.cs (1)
30if (alias.Target is INamespaceSymbol ns && ns.IsGlobalNamespace)
LanguageServices\AnonymousTypeDisplayService\AbstractStructuralTypeDisplayService.StructuralTypeCollectorVisitor.cs (1)
109public override void VisitNamespace(INamespaceSymbol symbol)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (2)
421else if (symbol is INamespaceSymbol namespaceSymbol) 602private void AddDescriptionForNamespace(INamespaceSymbol symbol)
MetadataAsSource\AbstractMetadataAsSourceService.AbstractWrappedSymbol.cs (1)
35public INamespaceSymbol ContainingNamespace => _symbol.ContainingNamespace;
MetadataAsSource\AbstractMetadataAsSourceService.cs (2)
29var rootNamespace = newSemanticModel.GetEnclosingNamespace(position: 0, cancellationToken); 95var topLevelNamespaceSymbol = symbol.ContainingNamespace;
MoveToNamespace\AbstractMoveToNamespaceService.cs (1)
302protected static string GetQualifiedName(INamespaceSymbol namespaceSymbol)
PullMemberUp\MembersPuller.cs (1)
319var resultNamespace = analysisResult.Member.ContainingNamespace;
RQName\RQNodeBuilder.cs (3)
22INamespaceSymbol namespaceSymbol => BuildNamespace(namespaceSymbol), 31private static RQNamespace BuildNamespace(INamespaceSymbol @namespace) 34private static IList<string> GetNameParts(INamespaceSymbol @namespace)
src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (2)
55if (declaredSymbol is INamespaceSymbol namespaceSymbol && namespaceSymbol.ConstituentNamespaces.Length > 1) 58var assemblyScopedNamespaceSymbol = namespaceSymbol.ConstituentNamespaces.FirstOrDefault(ns => ns.ContainingAssembly == assemblyToScope);
Microsoft.CodeAnalysis.Features.UnitTests (2)
FindUsages\DefinitionItemFactoryTests.cs (2)
441var symbol = compilation.Assembly.GlobalNamespace; 481var symbol = compilation.GlobalNamespace;
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (92)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Microsoft.CodeAnalysis.PublicApiAnalyzers (46)
DeclarePublicApiAnalyzer.Impl.cs (4)
609if (attribute.AttributeClass is { Name: "ExperimentalAttribute", ContainingSymbol: INamespaceSymbol { Name: nameof(System.Diagnostics.CodeAnalysis), ContainingNamespace: { Name: nameof(System.Diagnostics), ContainingNamespace: { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true } } } }) 650if (((symbol as INamespaceSymbol)?.IsGlobalNamespace).GetValueOrDefault()) 819var @namespace = symbol as INamespaceSymbol ?? symbol.ContainingNamespace;
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.CodeAnalysis.ResxSourceGenerator (42)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Microsoft.CodeAnalysis.Test.Utilities (3)
Diagnostics\CommonDiagnosticAnalyzers.cs (3)
795var ns = (INamespaceSymbol)context.Symbol; 2097case INamespaceSymbol namespaceSym:
Microsoft.CodeAnalysis.VisualBasic (39)
Binding\MemberSemanticModel.vb (1)
488Public Overloads Overrides Function GetDeclaredSymbol(declarationSyntax As NamespaceStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol
Compilation\SemanticModel.vb (2)
2586Public MustOverride Overloads Function GetDeclaredSymbol(declarationSyntax As NamespaceStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol 2593Public Overloads Function GetDeclaredSymbol(declarationSyntax As NamespaceBlockSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol
Compilation\SpeculativeSemanticModelWithMemberModel.vb (1)
161Public Overloads Overrides Function GetDeclaredSymbol(declarationSyntax As NamespaceStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol
Compilation\SyntaxTreeSemanticModel.vb (2)
937Public Overloads Overrides Function GetDeclaredSymbol(declarationSyntax As NamespaceStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol 986Dim namespaceToLookInForImplicitType As INamespaceSymbol = Nothing
Compilation\VisualBasicCompilation.vb (6)
1469Friend Shadows Function GetCompilationNamespace(namespaceSymbol As INamespaceSymbol) As NamespaceSymbol 2751Protected Overrides ReadOnly Property CommonGlobalNamespace As INamespaceSymbol 2834Protected Overrides Function CommonGetCompilationNamespace(namespaceSymbol As INamespaceSymbol) As INamespaceSymbol 2854Protected Overrides Function CommonCreateErrorNamespaceSymbol(container As INamespaceSymbol, name As String) As INamespaceSymbol
SymbolDisplay\SymbolDisplayVisitor.Types.vb (1)
143Dim ns = DirectCast(containingSymbol, INamespaceSymbol)
SymbolDisplay\SymbolDisplayVisitor.vb (4)
202Public Overloads Overrides Sub VisitNamespace(symbol As INamespaceSymbol) 211Private Overloads Sub VisitNamespace(symbol As INamespaceSymbol, emittedName As String) 259Private Sub AddGlobalNamespace(symbol As INamespaceSymbol) 381(Not (DirectCast(containingSymbol, INamespaceSymbol)).IsGlobalNamespace OrElse
SymbolDisplay\SymbolDisplayVisitor_Minimal.vb (1)
18Private Sub MinimallyQualify(symbol As INamespaceSymbol, emittedName As String, parentsEmittedName As String)
Symbols\AssemblySymbol.vb (1)
733Private ReadOnly Property IAssemblySymbol_GlobalNamespace As INamespaceSymbol Implements IAssemblySymbol.GlobalNamespace
Symbols\ModuleSymbol.vb (4)
259Public Function GetModuleNamespace(namespaceSymbol As INamespaceSymbol) As NamespaceSymbol 297Private ReadOnly Property IModuleSymbol_GlobalNamespace As INamespaceSymbol Implements IModuleSymbol.GlobalNamespace 303Private Function IModuleSymbol_GetModuleNamespace(namespaceSymbol As INamespaceSymbol) As INamespaceSymbol Implements IModuleSymbol.GetModuleNamespace
Symbols\NamespaceSymbol.vb (10)
60Public Overridable ReadOnly Property IsGlobalNamespace As Boolean Implements INamespaceSymbol.IsGlobalNamespace, INamespaceSymbolInternal.IsGlobalNamespace 539Private Function INamespaceSymbol_GetMembers() As IEnumerable(Of INamespaceOrTypeSymbol) Implements INamespaceSymbol.GetMembers 543Private Function INamespaceSymbol_GetMembers(name As String) As IEnumerable(Of INamespaceOrTypeSymbol) Implements INamespaceSymbol.GetMembers 547Private Function INamespaceSymbol_GetNamespaceMembers() As IEnumerable(Of INamespaceSymbol) Implements INamespaceSymbol.GetNamespaceMembers 571Private ReadOnly Property INamespaceSymbol_ConstituentNamespaces As ImmutableArray(Of INamespaceSymbol) Implements INamespaceSymbol.ConstituentNamespaces 573Return StaticCast(Of INamespaceSymbol).From(Me.ConstituentNamespaces) 577Private ReadOnly Property INamespaceSymbol_NamespaceKind As NamespaceKind Implements INamespaceSymbol.NamespaceKind 583Private ReadOnly Property INamespaceSymbol_ContainingCompilation As Compilation Implements INamespaceSymbol.ContainingCompilation
Symbols\Symbol.vb (1)
1199Private ReadOnly Property ISymbol_ContainingNamespace As INamespaceSymbol Implements ISymbol.ContainingNamespace
VisualBasicExtensions.vb (5)
632Public Function GetModuleMembers([namespace] As INamespaceSymbol) As ImmutableArray(Of INamedTypeSymbol) 648Public Function GetModuleMembers([namespace] As INamespaceSymbol, name As String) As ImmutableArray(Of INamedTypeSymbol) 725Public Function RootNamespace(compilation As Compilation) As INamespaceSymbol 1019Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As NamespaceStatementSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol 1032Public Function GetDeclaredSymbol(semanticModel As SemanticModel, declarationSyntax As NamespaceBlockSyntax, Optional cancellationToken As CancellationToken = Nothing) As INamespaceSymbol
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (2)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
73Public Function GetImportNamespacesInScope(semanticModel As SemanticModel, location As SyntaxNode) As ISet(Of INamespaceSymbol) 79Let ns = TryCast(info.Symbol, INamespaceSymbol)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (31)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\NamespaceGenerator.vb (8)
16[namespace] As INamespaceSymbol, 31[namespace] As INamespaceSymbol, 44Public Function GenerateNamespaceDeclaration(service As ICodeGenerationService, [namespace] As INamespaceSymbol, options As CodeGenerationContextInfo, cancellationToken As CancellationToken) As SyntaxNode 46Dim innermostNamespace As INamespaceSymbol = Nothing 68Private Function GetDeclarationSyntaxWithoutMembers([namespace] As INamespaceSymbol, innermostNamespace As INamespaceSymbol, name As String, options As CodeGenerationContextInfo) As SyntaxNode 88Private Function GenerateNamespaceDeclarationWorker(name As String, [namespace] As INamespaceSymbol) As SyntaxNode 97Private Function GenerateImportsStatements([namespace] As INamespaceSymbol) As SyntaxList(Of ImportsStatementSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
194[namespace] As INamespaceSymbol, 579Public Overrides Function CreateNamespaceDeclaration([namespace] As INamespaceSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Editing\VisualBasicImportAdder.vb (18)
26Protected Overrides Function GetExplicitNamespaceSymbol(node As SyntaxNode, model As SemanticModel) As INamespaceSymbol 40Protected Overrides Function AddPotentiallyConflictingImportsAsync(model As SemanticModel, container As SyntaxNode, namespaceSymbols As ImmutableArray(Of INamespaceSymbol), conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 45Private Overloads Shared Function GetExplicitNamespaceSymbol(fullName As ExpressionSyntax, namespacePart As ExpressionSyntax, model As SemanticModel) As INamespaceSymbol 48Dim nsSymbol = TryCast(model.GetSymbolInfo(namespacePart).Symbol, INamespaceSymbol) 71Private ReadOnly _importedTypesAndNamespaces As MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol) 78Private ReadOnly _importedMembers As MultiDictionary(Of String, INamespaceSymbol) 84Private ReadOnly _importedExtensionMethods As MultiDictionary(Of String, INamespaceSymbol) 88namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 92_importedTypesAndNamespaces = New MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol)(Me) 93_importedMembers = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 94_importedExtensionMethods = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 99Private Sub AddImportedMembers(namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 129Public Async Function AddPotentiallyConflictingImportsAsync(container As SyntaxNode, conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 136Function(node As SyntaxNode, onItemsFound As Action(Of INamespaceSymbol), conflictFinder As ConflictFinder, cancellationToken1 As CancellationToken) As Task 147Dim items = Await ProducerConsumer(Of INamespaceSymbol).RunParallelAsync( 206Private Sub ProduceConflicts(node As SimpleNameSyntax, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken) 216Private Sub ProduceConflicts(node As MemberAccessExpressionSyntax, containsAnonymousMethods As Boolean, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxGeneratorVisitor.vb (1)
60Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (1)
179Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As TypeSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicAddImportsService.vb (1)
54If TypeOf import Is INamespaceSymbol Then
Microsoft.CodeAnalysis.VisualBasic.Features (7)
AddImport\VisualBasicAddImportFeatureService.vb (1)
219Protected Overrides Function GetImportNamespacesInScope(semanticModel As SemanticModel, node As SyntaxNode, cancellationToken As CancellationToken) As ISet(Of INamespaceSymbol)
Completion\CompletionProviders\ImplementsClauseCompletionProvider.vb (4)
156Dim namespaces = interfacesAndContainers.OfType(Of INamespaceSymbol)() 180(TypeOf (s) Is INamespaceSymbol AndAlso namespaces.Contains(TryCast(s, INamespaceSymbol), INamespaceSymbolExtensions.EqualityComparer)) OrElse 255Dim [namespace] = TryCast(containingSymbol, INamespaceSymbol)
GenerateType\VisualBasicGenerateTypeService.vb (2)
419Public Overrides Async Function GetOrGenerateEnclosingNamespaceSymbolAsync(namedTypeSymbol As INamedTypeSymbol, containers() As String, selectedDocument As Document, selectedDocumentRoot As SyntaxNode, cancellationToken As CancellationToken) As Task(Of (INamespaceSymbol, INamespaceOrTypeSymbol, Location)) 430Return (DirectCast(enclosingNamespaceSymbol.Symbol, INamespaceSymbol),
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (4)
Compilation\GetImportScopesTests.vb (3)
39Return TryCast(symbol, INamespaceSymbol)?.Name = name 43Return symbol.Name = aliasName AndAlso symbol.Target.Name = targetName AndAlso TypeOf symbol.Target Is INamespaceSymbol AndAlso DirectCast(symbol.Target, INamespaceSymbol).ContainingNamespace.IsGlobalNamespace = inGlobalNamespace
Compilation\SemanticModelGetDeclaredSymbolAPITests.vb (1)
748stringInDecl As String) As INamespaceSymbol
Microsoft.CodeAnalysis.VisualBasic.Workspaces (42)
CodeCleanup\Providers\FixIncorrectTokensCodeCleanupProvider.vb (2)
118If symbol IsNot Nothing AndAlso TypeOf symbol Is INamespaceSymbol AndAlso String.Equals(DirectCast(symbol, INamespaceSymbol).MetadataName, "System", StringComparison.Ordinal) Then
Recommendations\VisualBasicRecommendationServiceRunner.vb (5)
181symbols = leftHandSymbolInfo.CandidateSymbols.OfType(Of INamespaceSymbol)() _ 313.OfType(Of INamespaceSymbol) _ 355Return symbolInfo.CandidateSymbols.Any() AndAlso symbolInfo.CandidateSymbols.All(Function(s) TypeOf s Is INamespaceSymbol) 453Dim namespaceSymbol = TryCast(symbol, INamespaceSymbol) 509Dim namespaceSymbol = TryCast(symbol, INamespaceSymbol)
Rename\VisualBasicRenameRewriterLanguageService.vb (1)
349If Not isRenameLocation AndAlso TypeOf (symbol) Is INamespaceSymbol AndAlso token.GetPreviousToken().Kind = SyntaxKind.NamespaceKeyword Then
Simplification\VisualBasicSimplificationService.Expander.vb (1)
502If aliasTarget.IsNamespace() AndAlso DirectCast(aliasTarget, INamespaceSymbol).IsGlobalNamespace Then
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
73Public Function GetImportNamespacesInScope(semanticModel As SemanticModel, location As SyntaxNode) As ISet(Of INamespaceSymbol) 79Let ns = TryCast(info.Symbol, INamespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\NamespaceGenerator.vb (8)
16[namespace] As INamespaceSymbol, 31[namespace] As INamespaceSymbol, 44Public Function GenerateNamespaceDeclaration(service As ICodeGenerationService, [namespace] As INamespaceSymbol, options As CodeGenerationContextInfo, cancellationToken As CancellationToken) As SyntaxNode 46Dim innermostNamespace As INamespaceSymbol = Nothing 68Private Function GetDeclarationSyntaxWithoutMembers([namespace] As INamespaceSymbol, innermostNamespace As INamespaceSymbol, name As String, options As CodeGenerationContextInfo) As SyntaxNode 88Private Function GenerateNamespaceDeclarationWorker(name As String, [namespace] As INamespaceSymbol) As SyntaxNode 97Private Function GenerateImportsStatements([namespace] As INamespaceSymbol) As SyntaxList(Of ImportsStatementSyntax)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
194[namespace] As INamespaceSymbol, 579Public Overrides Function CreateNamespaceDeclaration([namespace] As INamespaceSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Editing\VisualBasicImportAdder.vb (18)
26Protected Overrides Function GetExplicitNamespaceSymbol(node As SyntaxNode, model As SemanticModel) As INamespaceSymbol 40Protected Overrides Function AddPotentiallyConflictingImportsAsync(model As SemanticModel, container As SyntaxNode, namespaceSymbols As ImmutableArray(Of INamespaceSymbol), conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 45Private Overloads Shared Function GetExplicitNamespaceSymbol(fullName As ExpressionSyntax, namespacePart As ExpressionSyntax, model As SemanticModel) As INamespaceSymbol 48Dim nsSymbol = TryCast(model.GetSymbolInfo(namespacePart).Symbol, INamespaceSymbol) 71Private ReadOnly _importedTypesAndNamespaces As MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol) 78Private ReadOnly _importedMembers As MultiDictionary(Of String, INamespaceSymbol) 84Private ReadOnly _importedExtensionMethods As MultiDictionary(Of String, INamespaceSymbol) 88namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 92_importedTypesAndNamespaces = New MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol)(Me) 93_importedMembers = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 94_importedExtensionMethods = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 99Private Sub AddImportedMembers(namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 129Public Async Function AddPotentiallyConflictingImportsAsync(container As SyntaxNode, conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 136Function(node As SyntaxNode, onItemsFound As Action(Of INamespaceSymbol), conflictFinder As ConflictFinder, cancellationToken1 As CancellationToken) As Task 147Dim items = Await ProducerConsumer(Of INamespaceSymbol).RunParallelAsync( 206Private Sub ProduceConflicts(node As SimpleNameSyntax, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken) 216Private Sub ProduceConflicts(node As MemberAccessExpressionSyntax, containsAnonymousMethods As Boolean, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxGeneratorVisitor.vb (1)
60Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (1)
179Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As TypeSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\LanguageServices\VisualBasicAddImportsService.vb (1)
54If TypeOf import Is INamespaceSymbol Then
Microsoft.CodeAnalysis.Workspaces (136)
Classification\SyntaxClassification\AbstractNameSyntaxClassifier.cs (1)
53if (symbol is INamespaceSymbol)
FindSymbols\Declarations\DeclarationFinder_AllDeclarations.cs (1)
151result.AddIfNotNull(mappedSymbol is INamespaceSymbol ns
FindSymbols\FindReferences\DependentProjectsFinder.cs (1)
46if (symbols.Any(static s => s is INamespaceSymbol or IPreprocessingSymbol or IDynamicTypeSymbol))
FindSymbols\FindReferences\Finders\AbstractReferenceFinder_GlobalSuppressions.cs (1)
34SymbolKind.Namespace => !((INamespaceSymbol)symbol).IsGlobalNamespace,
FindSymbols\FindReferences\Finders\NamespaceSymbolReferenceFinder.cs (8)
16internal sealed class NamespaceSymbolReferenceFinder : AbstractReferenceFinder<INamespaceSymbol> 18protected override bool CanFind(INamespaceSymbol symbol) 21protected override Task<ImmutableArray<string>> DetermineGlobalAliasesAsync(INamespaceSymbol symbol, Project project, CancellationToken cancellationToken) 27INamespaceSymbol symbol, 54INamespaceSymbol symbol, 93INamespaceSymbol symbol, FindReferencesDocumentState state, ArrayBuilder<FinderLocation> initialReferences, string namespaceName, string alias, CancellationToken cancellationToken) 110INamespaceSymbol symbol, 124INamespaceSymbol symbol,
FindSymbols\FindReferences\FindReferencesSearchEngine.SymbolSet.cs (1)
116if (aliasSymbol.Target is INamedTypeSymbol or INamespaceSymbol)
FindSymbols\SymbolFinder_Helpers.cs (4)
46var namespace1 = (INamespaceSymbol)searchSymbol; 47var namespace2 = (INamespaceSymbol)symbolToMatch;
FindSymbols\SymbolTree\SymbolTreeInfo_Source.cs (1)
205if (symbol is INamespaceSymbol namespaceSymbol)
Recommendations\AbstractRecommendationService.cs (1)
133if (symbol is INamespaceSymbol namespaceSymbol)
Recommendations\AbstractRecommendationServiceRunner.cs (5)
278var containingNamespaceSymbol = semanticModel.Compilation.GetCompilationNamespace( 290var systemNamespace = container is not (null or INamespaceSymbol { IsGlobalNamespace: true }) 293.OfType<INamespaceSymbol>().FirstOrDefault(); 350return recommendationSymbol is INamespaceSymbol &&
Rename\ConflictEngine\ConflictResolver.cs (1)
261var otherThingsNamedTheSame = ((INamespaceSymbol)renamedSymbol.ContainingSymbol).GetMembers(renamedSymbol.Name)
Shared\Extensions\INamespaceSymbolExtensions.Comparer.cs (4)
13private sealed class Comparer : IEqualityComparer<INamespaceSymbol?> 15public bool Equals(INamespaceSymbol? x, INamespaceSymbol? y) 18public int GetHashCode(INamespaceSymbol? obj)
Shared\Extensions\INamespaceSymbolExtensions.cs (28)
17private static readonly ConditionalWeakTable<INamespaceSymbol, List<string>> s_namespaceToNameMap = new(); 19public static readonly Comparison<INamespaceSymbol> CompareNamespaces = CompareTo; 20public static readonly IEqualityComparer<INamespaceSymbol> EqualityComparer = new Comparer(); 22private static List<string> GetNameParts(INamespaceSymbol? namespaceSymbol) 29private static void GetNameParts(INamespaceSymbol? namespaceSymbol, List<string> result) 40public static int CompareTo(this INamespaceSymbol n1, INamespaceSymbol n2) 58this INamespaceSymbol namespaceSymbol, 67if (current is INamespaceSymbol childNamespace) 81public static IEnumerable<INamespaceSymbol> GetAllNamespaces( 82this INamespaceSymbol namespaceSymbol, 85using var _ = ArrayBuilder<INamespaceSymbol>.GetInstance(out var stack); 88while (stack.TryPop(out var childNamespace)) 97this IEnumerable<INamespaceSymbol> namespaceSymbols, 106public static IEnumerable<INamespaceSymbol> FindNamespaces( 107this INamespaceSymbol namespaceSymbol, 113using var _ = ArrayBuilder<INamespaceSymbol>.GetInstance(out var stack); 116while (stack.TryPop(out var current)) 119var matchingChildren = current.GetMembers(namespaceName).OfType<INamespaceSymbol>(); 120foreach (var child in matchingChildren) 128this INamespaceSymbol namespaceSymbol, 135public static INamespaceSymbol? GetQualifiedNamespace( 136this INamespaceSymbol globalNamespace, 139var namespaceSymbol = globalNamespace; 144? members.First() as INamespaceSymbol 157this INamespaceSymbol namespaceSymbol, 166foreach (var constituent in namespaceSymbol.ConstituentNamespaces) 196namespaceQueue.Enqueue((INamespaceSymbol)namespaceOrType);
Shared\Extensions\ISolutionExtensions.cs (2)
18public static async Task<ImmutableArray<INamespaceSymbol>> GetGlobalNamespacesAsync( 22var results = ArrayBuilder<INamespaceSymbol>.GetInstance();
Shared\Extensions\ISymbolExtensions.cs (1)
670(s is INamespaceSymbol || s.Locations.Any(static loc => loc.IsInSource) || !s.HasUnsupportedMetadata) &&
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (1)
134if (symbol.IsKind(SymbolKind.Namespace, out INamespaceSymbol? ns))
Microsoft.VisualStudio.LanguageServices (24)
Implementation\ContainedLanguageRefactorNotifyService.cs (1)
73if (symbol is INamespaceSymbol)
Library\ObjectBrowser\AbstractDescriptionBuilder.cs (6)
67protected async Task AddNamespaceLinkAsync(INamespaceSymbol namespaceSymbol, CancellationToken cancellationToken) 154var namespaceSymbol = namespaceListItem.ResolveTypedSymbol(compilation); 232protected abstract void BuildNamespaceDeclaration(INamespaceSymbol namespaceSymbol, _VSOBJDESCOPTIONS options); 242if (containingSymbol is INamespaceSymbol && 243((INamespaceSymbol)containingSymbol).IsGlobalNamespace) 273else if (containingSymbol is INamespaceSymbol namespaceSymbol)
Library\ObjectBrowser\AbstractListItemFactory.cs (7)
124protected NamespaceListItem CreateNamespaceListItem(INamespaceSymbol namespaceSymbol, ProjectId projectId) 409using var _ = ArrayBuilder<INamespaceSymbol>.GetInstance(out var stack); 663private static ImmutableArray<INamedTypeSymbol> GetAccessibleTypes(INamespaceSymbol namespaceSymbol, Compilation compilation) 688INamespaceSymbol namespaceSymbol, 726INamespaceSymbol namespaceSymbol; 748using var _ = ArrayBuilder<INamespaceSymbol>.GetInstance(out var stack); 780using var _ = ArrayBuilder<INamespaceSymbol>.GetInstance(out var namespaceStack);
Library\ObjectBrowser\AbstractObjectBrowserLibraryManager.cs (1)
446return this.LibraryService.NavInfoFactory.CreateForNamespace((INamespaceSymbol)symbol, project, compilation, useExpandedHierarchy);
Library\ObjectBrowser\Extensions.cs (1)
36public static string GetNamespaceNavInfoNameOrEmpty(this INamespaceSymbol namespaceSymbol)
Library\ObjectBrowser\Lists\NamespaceListItem.cs (2)
9internal sealed class NamespaceListItem : SymbolListItem<INamespaceSymbol> 11public NamespaceListItem(ProjectId projectId, INamespaceSymbol namespaceSymbol, string displayText, string fullNameText, string searchText)
Library\VsNavInfo\NavInfoFactory.cs (3)
43case INamespaceSymbol namespaceSymbol: 63public IVsNavInfo CreateForNamespace(INamespaceSymbol namespaceSymbol, Project project, Compilation compilation, bool useExpandedHierarchy = false) 220private static string GetNamespaceName(INamespaceSymbol namespaceSymbol)
MoveStaticMembers\VisualStudioMoveStaticMembersOptionsService.cs (1)
160INamespaceSymbol currentNamespace,
ProjectSystem\AbstractEntryPointFinder.cs (1)
19public override void VisitNamespace(INamespaceSymbol symbol)
Venus\ContainedLanguageCodeSupport.cs (1)
428var ns = document.Project.GetCompilationAsync(cancellationToken).WaitAndGetResult_Venus(cancellationToken).GlobalNamespace;
Microsoft.VisualStudio.LanguageServices.CSharp (3)
CodeModel\CSharpCodeModelService_Prototype.cs (1)
561if (symbol is INamespaceSymbol namespaceSymbol)
LanguageService\CSharpHelpContextService.cs (1)
563if (symbol is ITypeSymbol or INamespaceSymbol)
ObjectBrowser\DescriptionBuilder.cs (1)
24protected override void BuildNamespaceDeclaration(INamespaceSymbol namespaceSymbol, _VSOBJDESCOPTIONS options)
Microsoft.VisualStudio.LanguageServices.VisualBasic (2)
Help\VisualBasicHelpContextService.vb (1)
112If TypeOf symbol Is ITypeSymbol OrElse TypeOf symbol Is INamespaceSymbol Then
ObjectBrowser\DescriptionBuilder.vb (1)
24Protected Overrides Sub BuildNamespaceDeclaration(namespaceSymbol As INamespaceSymbol, options As _VSOBJDESCOPTIONS)
Roslyn.Diagnostics.Analyzers (93)
AbstractDoNotCopyValue.cs (1)
320public override void VisitNamespace(INamespaceSymbol symbol)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Roslyn.Diagnostics.CSharp.Analyzers (35)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (3)
161public static ISet<INamespaceSymbol> GetUsingNamespacesInScope(this SemanticModel semanticModel, SyntaxNode location) 164var result = new HashSet<INamespaceSymbol>(); 172if (symbolInfo.Symbol is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
321ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (2)
267protected override TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CSharpCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) 735INamespaceSymbol @namespace, CodeGenerationDestination destination, CSharpCodeGenerationContextInfo info, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (8)
27INamespaceSymbol @namespace, 47INamespaceSymbol @namespace, 68INamespaceSymbol @namespace, 73GetNameAndInnermostNamespace(@namespace, info, out var name, out var innermostNamespace); 98string name, INamespaceSymbol innermostNamespace, 119INamespaceSymbol @namespace, 120INamespaceSymbol innermostNamespace, 139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Editing\CSharpImportAdder.cs (18)
28protected override INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model) 44ImmutableArray<INamespaceSymbol> namespaceSymbols, 45HashSet<INamespaceSymbol> conflicts, 52private static INamespaceSymbol? GetExplicitNamespaceSymbol(ExpressionSyntax fullName, ExpressionSyntax namespacePart, SemanticModel model) 56if (symbol != null && symbol.Kind != SymbolKind.Namespace && model.GetSymbolInfo(namespacePart).Symbol is INamespaceSymbol) 59var ns = symbol.ContainingNamespace; 85private readonly MultiDictionary<(string name, int arity), INamespaceSymbol> _importedTypes = []; 97private readonly MultiDictionary<string, INamespaceSymbol> _importedExtensionMethods = []; 101ImmutableArray<INamespaceSymbol> namespaceSymbols) 108private void AddImportedMembers(ImmutableArray<INamespaceSymbol> namespaceSymbols) 110foreach (var ns in namespaceSymbols) 128public async Task AddPotentiallyConflictingImportsAsync(SyntaxNode container, HashSet<INamespaceSymbol> conflicts, CancellationToken cancellationToken) 134await ProducerConsumer<INamespaceSymbol>.RunParallelAsync( 151await foreach (var conflict in items.ConfigureAwait(false)) 213private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 218foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 223private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 256foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
Roslyn.Diagnostics.VisualBasic.Analyzers (24)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SemanticModelExtensions.vb (2)
73Public Function GetImportNamespacesInScope(semanticModel As SemanticModel, location As SyntaxNode) As ISet(Of INamespaceSymbol) 79Let ns = TryCast(info.Symbol, INamespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (2)
194[namespace] As INamespaceSymbol, 579Public Overrides Function CreateNamespaceDeclaration([namespace] As INamespaceSymbol,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Editing\VisualBasicImportAdder.vb (18)
26Protected Overrides Function GetExplicitNamespaceSymbol(node As SyntaxNode, model As SemanticModel) As INamespaceSymbol 40Protected Overrides Function AddPotentiallyConflictingImportsAsync(model As SemanticModel, container As SyntaxNode, namespaceSymbols As ImmutableArray(Of INamespaceSymbol), conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 45Private Overloads Shared Function GetExplicitNamespaceSymbol(fullName As ExpressionSyntax, namespacePart As ExpressionSyntax, model As SemanticModel) As INamespaceSymbol 48Dim nsSymbol = TryCast(model.GetSymbolInfo(namespacePart).Symbol, INamespaceSymbol) 71Private ReadOnly _importedTypesAndNamespaces As MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol) 78Private ReadOnly _importedMembers As MultiDictionary(Of String, INamespaceSymbol) 84Private ReadOnly _importedExtensionMethods As MultiDictionary(Of String, INamespaceSymbol) 88namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 92_importedTypesAndNamespaces = New MultiDictionary(Of (name As String, arity As Integer), INamespaceSymbol)(Me) 93_importedMembers = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 94_importedExtensionMethods = New MultiDictionary(Of String, INamespaceSymbol)(VisualBasicSyntaxFacts.Instance.StringComparer) 99Private Sub AddImportedMembers(namespaceSymbols As ImmutableArray(Of INamespaceSymbol)) 129Public Async Function AddPotentiallyConflictingImportsAsync(container As SyntaxNode, conflicts As HashSet(Of INamespaceSymbol), cancellationToken As CancellationToken) As Task 136Function(node As SyntaxNode, onItemsFound As Action(Of INamespaceSymbol), conflictFinder As ConflictFinder, cancellationToken1 As CancellationToken) As Task 147Dim items = Await ProducerConsumer(Of INamespaceSymbol).RunParallelAsync( 206Private Sub ProduceConflicts(node As SimpleNameSyntax, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken) 216Private Sub ProduceConflicts(node As MemberAccessExpressionSyntax, containsAnonymousMethods As Boolean, addConflict As Action(Of INamespaceSymbol), cancellationToken As CancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ExpressionSyntaxGeneratorVisitor.vb (1)
60Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As ExpressionSyntax
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\TypeSyntaxGeneratorVisitor.vb (1)
179Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As TypeSyntax
SemanticSearch.BuildTask (1)
GenerateFilteredReferenceAssembliesTask.cs (1)
314case INamespaceSymbol ns:
System.Private.CoreLib.Generators (11)
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (11)
50private static INamespaceSymbol GetNamespace(IAssemblySymbol assembly, params string[] namespaceNames) 52INamespaceSymbol outerNamespace = assembly.GlobalNamespace; 55INamespaceSymbol? foundNamespace = null; 66foreach (var innerNamespace in outerNamespace.GetNamespaceMembers()) 98private static IEnumerable<INamedTypeSymbol> GetSubtypes(INamespaceSymbol namespaceSymbol) 109foreach (var namespaceMember in namespaceSymbol.GetNamespaceMembers()) 140INamespaceSymbol systemRuntimeIntrinsicsNamespace = GetNamespace(context.Compilation.Assembly, "System", "Runtime", "Intrinsics"); 148foreach (var architectureSpecificNamespace in systemRuntimeIntrinsicsNamespace.GetNamespaceMembers()) 447private static INamespaceSymbol? SymbolToNamespaceSymbol(ISymbol symbol) 523var namespaceAttributeTypeSymbol = SymbolToNamespaceSymbol(attributeTypeSymbol); 524var namespaceSymbol = SymbolToNamespaceSymbol(symbol);
Test.Utilities (28)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
Text.Analyzers (92)
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
76var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 87foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 94void processNamespace(INamespaceSymbol @namespace) 100processNamespace((INamespaceSymbol)child);
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
129if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 269SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 307SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 327where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 334where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\RoslynAnalyzers\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
18INamespaceSymbol symbol, 30internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 36internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 42private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 72private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
36case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SemanticModelExtensions.cs (2)
91public static INamespaceSymbol? GetEnclosingNamespace(this SemanticModel semanticModel, int position, CancellationToken cancellationToken) 92=> semanticModel.GetEnclosingSymbol<INamespaceSymbol>(position, cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.cs (2)
48/// <item>Two <see cref="INamespaceSymbol"/>s are the "same" if they have 51/// If the <see cref="INamespaceSymbol"/> is the global namespace for a
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.ErrorTypeSymbolKey.cs (3)
25case INamespaceSymbol parentNamespace: 52private static ImmutableArray<string?> GetContainingNamespaceNamesInReverse(INamespaceSymbol namespaceSymbol) 122var currentNamespace = reader.Compilation.GlobalNamespace;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamespaceSymbolKey.cs (6)
12private sealed class NamespaceSymbolKey : AbstractSymbolKey<INamespaceSymbol> 24public sealed override void Create(INamespaceSymbol symbol, SymbolKeyWriter visitor) 58SymbolKeyReader reader, INamespaceSymbol? contextualSymbol, out string? failureReason) 88using var result = PooledArrayBuilder<INamespaceSymbol>.GetInstance(); 101case INamespaceSymbol namespaceSymbol: 104if (member is INamespaceSymbol childNamespace)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.EquivalenceVisitor.cs (6)
128SymbolKind.Namespace => NamespacesAreEquivalent((INamespaceSymbol)x, (INamespaceSymbol)y, equivalentTypesWithDifferingAssemblies), 368x.ContainingSymbol is INamespaceSymbol xNamespace && 369y.ContainingSymbol is INamespaceSymbol yNamespace) 547private bool NamespacesAreEquivalent(INamespaceSymbol x, INamespaceSymbol y, Dictionary<INamedTypeSymbol, INamedTypeSymbol>? equivalentTypesWithDifferingAssemblies)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (11)
62public TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode 91public SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken) 128protected abstract TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, TCodeGenerationContextInfo info, IList<bool>? availableIndices, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 151public abstract SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, TCodeGenerationContextInfo info, CancellationToken cancellationToken); 350INamespaceSymbol @namespace => CreateNamespaceDeclaration(@namespace, codeGenerationDestination, info, cancellationToken), 368INamespaceSymbol @namespace => AddNamespace(currentDestination, @namespace, info, availableIndices, cancellationToken), 428public Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 437public Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 464public Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken) 471if (namespaceOrType is INamespaceSymbol namespaceSymbol)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
51type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
64public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 71public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 78public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\ICodeGenerationService.cs (6)
48SyntaxNode CreateNamespaceDeclaration(INamespaceSymbol @namespace, CodeGenerationDestination destination, CodeGenerationContextInfo info, CancellationToken cancellationToken); 78TDeclarationNode AddNamespace<TDeclarationNode>(TDeclarationNode destination, INamespaceSymbol @namespace, CodeGenerationContextInfo info, CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode; 158Task<Document> AddNamedTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken); 163Task<Document> AddNamespaceAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken); 168Task<Document> AddNamespaceOrTypeAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceInfo.cs (4)
15private static readonly ConditionalWeakTable<INamespaceSymbol, CodeGenerationNamespaceInfo> s_namespaceToInfoMap = new(); 23INamespaceSymbol @namespace, 30private static CodeGenerationNamespaceInfo GetInfo(INamespaceSymbol @namespace) 36public static IList<ISymbol> GetImports(INamespaceSymbol @namespace)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationNamespaceSymbol.cs (4)
39IEnumerable<INamespaceOrTypeSymbol> INamespaceSymbol.GetMembers(string name) 42public IEnumerable<INamespaceSymbol> GetNamespaceMembers() 43=> GetMembers().OfType<INamespaceSymbol>(); 59public ImmutableArray<INamespaceSymbol> ConstituentNamespaces
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (12)
73protected abstract INamespaceSymbol? GetExplicitNamespaceSymbol(SyntaxNode node, SemanticModel model); 75private async Task<ISet<INamespaceSymbol>> GetSafeToAddImportsAsync( 76ImmutableArray<INamespaceSymbol> namespaceSymbols, 81using var _ = PooledHashSet<INamespaceSymbol>.GetInstance(out var conflicts); 96ImmutableArray<INamespaceSymbol> namespaceSymbols, 97HashSet<INamespaceSymbol> conflicts, 100private static SyntaxNode GenerateNamespaceImportDeclaration(INamespaceSymbol namespaceSymbol, SyntaxGenerator generator) 126var addedSymbols = new HashSet<INamespaceSymbol>(); 178using var _ = PooledDictionary<INamespaceSymbol, SyntaxNode>.GetInstance(out var importToSyntax); 208var namespaceSymbol = namedType.ContainingNamespace; 257private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 259var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);