6 implementations of INamespaceSymbol
GenerateDocumentationAndConfigFiles (1)
src\roslyn\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\roslyn\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\roslyn\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.Workspaces (1)
src\roslyn\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\roslyn\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
960 references to INamespaceSymbol
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\Parser\BinderInvocation.cs (1)
61ContainingNamespace: INamespaceSymbol containingNamespace,
GenerateDocumentationAndConfigFiles (78)
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
34case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
50type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
65public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 72public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 79public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\roslyn\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; 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 261var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
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 (38)
Compilation\Compilation.cs (12)
386public INamespaceSymbol CreateErrorNamespaceSymbol(INamespaceSymbol container, string name) 401protected abstract INamespaceSymbol CommonCreateErrorNamespaceSymbol(INamespaceSymbol container, string name); 962public INamespaceSymbol GlobalNamespace { get { return CommonGlobalNamespace; } } 963protected abstract INamespaceSymbol CommonGlobalNamespace { get; } 968public INamespaceSymbol? GetCompilationNamespace(INamespaceSymbol namespaceSymbol) 973protected abstract INamespaceSymbol? CommonGetCompilationNamespace(INamespaceSymbol namespaceSymbol); 1066INamespaceSymbol container = this.SourceModule.GlobalNamespace; 1070INamespaceSymbol? next = container.GetNestedNamespace(parts[i]);
DiagnosticAnalyzer\AnalysisScope.cs (1)
222!((symbol.Kind == SymbolKind.Namespace && ((INamespaceSymbol)symbol).IsGlobalNamespace));
DiagnosticAnalyzer\AnalyzerManager.AnalyzerExecutionContext.cs (1)
192processMembers(((INamespaceSymbol)symbol).GetMembers());
DiagnosticAnalyzer\SuppressMessageAttributeState.cs (2)
206return hasNamespaceSuppression((INamespaceSymbol)symbol, inImmediatelyContainingSymbol); 223bool hasNamespaceSuppression(INamespaceSymbol namespaceSymbol, bool inImmediatelyContainingSymbol)
DocumentationCommentId.cs (5)
82if (symbol is INamespaceSymbol) 329/// This will always succeed for a <see cref="INamespaceSymbol"/> or <see cref="INamedTypeSymbol"/>. It may not 381public override void VisitNamespace(INamespaceSymbol symbol) 517public override bool VisitNamespace(INamespaceSymbol symbol) 591public override bool VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (2)
75if (declaredSymbol is INamespaceSymbol namespaceSymbol && namespaceSymbol.ConstituentNamespaces.Length > 1) 78var assemblyScopedNamespaceSymbol = namespaceSymbol.ConstituentNamespaces.FirstOrDefault(static (ns, assemblyToScope) => ns.ContainingAssembly == assemblyToScope, 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\roslyn\src\RoslynAnalyzers\Microsoft.CodeAnalysis.BannedApiAnalyzers\Core\SymbolIsBannedAnalyzerBase.cs (6)
350foreach (var currentNamespace in GetContainingNamespaces(type)) 369static IEnumerable<INamespaceSymbol> GetContainingNamespaces(ISymbol symbol) 371INamespaceSymbol? currentNamespace = symbol.ContainingNamespace; 375foreach (var constituent in currentNamespace.ConstituentNamespaces) 520if (symbol is not INamespaceSymbol namespaceSymbol) 526foreach (var constituent in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
34case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
50type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
65public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 72public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 79public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\roslyn\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; 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 261var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Microsoft.CodeAnalysis.AnalyzerUtilities (42)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
34case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\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 (25)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
50type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
65public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 72public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 79public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\roslyn\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; 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 261var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Microsoft.CodeAnalysis.CSharp (52)
Compilation\CSharpCompilation.cs (7)
413protected override INamespaceSymbol CommonCreateErrorNamespaceSymbol(INamespaceSymbol container, string name) 1525internal new NamespaceSymbol? GetCompilationNamespace(INamespaceSymbol namespaceSymbol) 1534var containingNamespace = namespaceSymbol.ContainingNamespace; 4147protected override INamespaceSymbol CommonGlobalNamespace 4226protected 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)
599public override INamespaceSymbol GetDeclaredSymbol(NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 605public 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) 2479Debug.Assert(((INamespaceSymbol)declaredSymbol).IsGlobalNamespace);
CSharpExtensions.cs (2)
1411public static INamespaceSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, NamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)) 1422public static INamespaceSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, FileScopedNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
src\roslyn\src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (3)
87INamespaceSymbol nsSymbol = declInfo.DeclaredSymbol as INamespaceSymbol; 91var declaredSymbol = getSymbol ? nsSymbol?.ContainingNamespace : null;
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (3)
59private void MinimallyQualify(INamespaceSymbol symbol) 88var containingNamespace = symbol.ContainingNamespace == null 144var containingNamespace = symbol.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)
285var namespaceSymbol = (INamespaceSymbol)containingSymbol;
Symbols\ModuleSymbol.cs (1)
341public 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)
210INamespaceSymbol ISymbol.ContainingNamespace => UnderlyingSymbol.ContainingNamespace.GetPublicSymbol();
Symbols\SymbolExtensions.cs (5)
402internal static NamespaceSymbol? EnsureCSharpSymbolOrNull(this INamespaceSymbol? symbol, string paramName) 575internal static INamespaceSymbol? GetPublicSymbol(this NamespaceSymbol? symbol) 577return symbol.GetPublicSymbol<INamespaceSymbol>(); 747internal static ImmutableArray<INamespaceSymbol> GetPublicSymbols(this ImmutableArray<NamespaceSymbol> symbols) 749return GetPublicSymbols<INamespaceSymbol>(StaticCast<Symbol>.From(symbols));
Microsoft.CodeAnalysis.CSharp.CodeStyle (4)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
309ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (31)
src\roslyn\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\roslyn\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\roslyn\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( 149await foreach (var conflict in items.ConfigureAwait(false)) 211private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 216foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 221private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 254foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
Microsoft.CodeAnalysis.CSharp.Features (18)
AddImport\CSharpAddImportFeatureService.cs (2)
245protected override ISet<INamespaceSymbol> GetImportNamespacesInScope( 536var containingNamespaceSymbol = semanticModel.GetDeclaredSymbol(namespaceToAddTo);
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.cs (6)
202var system = compilation.GlobalNamespace.GetMembers(nameof(System)).OfType<INamespaceSymbol>().FirstOrDefault(); 203var systemCollections = system?.GetMembers(nameof(System.Collections)).OfType<INamespaceSymbol>().FirstOrDefault(); 212foreach (var childNamespace in systemCollections.GetNamespaceMembers()) 221static 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 (4)
256if (leftSymbol is INamespaceSymbol) 541public override async Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync( 554if (enclosingNamespaceSymbol.Symbol is INamespaceSymbol namespaceSymbol) 559var globalNamespace = semanticModel.GetEnclosingNamespace(0, cancellationToken);
QuickInfo\CSharpSemanticQuickInfoProvider.cs (1)
334if (symbol is null or INamespaceSymbol)
src\roslyn\src\Compilers\CSharp\CSharpAnalyzerDriver\CSharpDeclarationComputer.cs (3)
87INamespaceSymbol nsSymbol = declInfo.DeclaredSymbol as INamespaceSymbol; 91var declaredSymbol = getSymbol ? nsSymbol?.ContainingNamespace : null;
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Runtime\CSharpForwardCancellationTokenToInvocationsFixer.TypeNameVisitor.cs (1)
89public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
Microsoft.CodeAnalysis.CSharp.Workspaces (42)
Classification\SyntaxClassification\NameSyntaxClassifier.cs (1)
132if (symbol is INamespaceSymbol namespaceSymbol &&
Recommendations\CSharpRecommendationServiceRunner.cs (3)
340return symbols.WhereAsArray(static s => s is INamespaceSymbol); 636: symbols.WhereAsArray(s => s is INamespaceSymbol)); 736if (leftHandBinding.GetBestOrAllSymbols().FirstOrDefault() is INamedTypeSymbol or INamespaceSymbol or IAliasSymbol)
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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
309ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
src\roslyn\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\roslyn\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\roslyn\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( 149await foreach (var conflict in items.ConfigureAwait(false)) 211private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 216foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 221private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 254foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
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 (76)
AddImport\AbstractAddImportCodeRefactoringProvider.cs (3)
88var namespaceSymbol = namedType.ContainingNamespace; 96if (namespaceReference.DescendantNodesAndSelf().Any(n => semanticModel.GetAliasInfo(n, cancellationToken) is { Target: not INamespaceSymbol { IsGlobalNamespace: true } })) 137if (parentSymbol is INamespaceSymbol)
AddImport\AbstractAddImportFeatureService.cs (2)
52protected abstract ISet<INamespaceSymbol> GetImportNamespacesInScope(SemanticModel semanticModel, SyntaxNode node, CancellationToken cancellationToken); 485return symbol.IsNamespace ? !((INamespaceSymbol)symbol).IsGlobalNamespace : true;
AddImport\SymbolReferenceFinder.cs (19)
33private readonly ISet<INamespaceSymbol> _namespacesInScope; 74private ISet<INamespaceSymbol> GetNamespacesInScope(CancellationToken cancellationToken) 81for (var containingNamespace = _semanticModel.GetEnclosingNamespace(_node.SpanStart, cancellationToken); 91private INamespaceSymbol MapToCompilationNamespaceIfPossible(INamespaceSymbol containingNamespace) 172/// to the <see cref="INamespaceSymbol"/>s or <see cref="INamedTypeSymbol"/>s those types are 219var typesContainedDirectlyInNamespaces = accessibleTypeSymbols.WhereAsArray(s => s.Symbol.ContainingSymbol is INamespaceSymbol); 258/// to the <see cref="INamespaceSymbol"/>s those namespaces are contained in. 272var namespaceSymbols = OfType<INamespaceSymbol>(symbols); 273var containingNamespaceSymbols = OfType<INamespaceSymbol>(symbols).SelectAsArray(s => s.WithSymbol(s.Symbol.ContainingNamespace)); 348/// cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain the static classes that those 418/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 439/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 463/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 485/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 507/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 529/// <see cref="SymbolReference"/>s to the <see cref="INamespaceSymbol"/>s that contain 642SearchScope scope, ImmutableArray<SymbolResult<INamespaceSymbol>> namespaces) 648var symbol = namespaceResult.Symbol;
Common\TaggedText.cs (1)
118if (alias.Target is INamespaceSymbol)
Completion\Providers\AbstractRecommendationServiceBasedCompletionProvider.cs (2)
111if (symbol is INamespaceSymbol) 136if (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)
291INamespaceSymbol rootNamespaceSymbol, 299INamespaceSymbol symbol, 307foreach (var memberNamespace in symbol.GetNamespaceMembers())
Completion\Providers\ImportCompletionProvider\ExtensionMemberImportCompletionHelper.cs (3)
132using var _1 = PooledDictionary<INamespaceSymbol, string>.GetInstance(out var namespaceNameCache); 216private 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: 294INamespaceSymbol namespaceSymbol => namespaceSymbol.GetMembers().SelectMany(GetTypeMembersRecursive),
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (1)
5249while (oldContainer is not null and not INamespaceSymbol { IsGlobalNamespace: true })
FindUsages\DefinitionItemFactory.cs (3)
184if (definition is INamespaceSymbol namespaceSymbol) 198foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces) 237if (definition is IAssemblySymbol or IModuleSymbol or INamespaceSymbol { IsGlobalNamespace: true } or IPreprocessingSymbol)
FullyQualify\AbstractFullyQualifyService.cs (6)
174.OfType<INamespaceSymbol>() 265=> symbol.ContainingSymbol is INamespaceSymbol or INamedTypeSymbol { IsGenericType: false }; 267private bool BindsWithoutErrors(INamespaceSymbol ns, string? rightName, bool isAttributeName) 287private static bool HasAccessibleTypes(INamespaceSymbol @namespace, SemanticModel model, CancellationToken cancellationToken) 296if (containingSymbol is INamespaceSymbol namespaceSymbol) 310.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)
65public abstract Task<(INamespaceSymbol, INamespaceOrTypeSymbol, Location)> GetOrGenerateEnclosingNamespaceSymbolAsync(INamedTypeSymbol namedTypeSymbol, string[] containers, Document selectedDocument, SyntaxNode selectedDocumentRoot, CancellationToken cancellationToken); 142var containingNamespace = semanticDocument.SemanticModel.GetEnclosingNamespace(node.SpanStart, cancellationToken); 163var containingNamespace = document.SemanticModel.GetEnclosingNamespace(node.SpanStart, cancellationToken); 279var namespaceSymbol = semanticModel.GetEnclosingNamespace(triggeringPosition, cancellationToken);
GenerateType\AbstractGenerateTypeService.Editor.cs (3)
281var enclosingNamespace = newSemanticModel.GetEnclosingNamespace(0, _cancellationToken); 388var enclosingNamespace = _semanticDocument.SemanticModel.GetEnclosingNamespace( 417(INamespaceSymbol, INamespaceOrTypeSymbol, Location) enclosingNamespaceGeneratedTypeToAddAndLocation;
GenerateType\AbstractGenerateTypeService.State.cs (2)
381var namespaceSymbol = semanticModel.GetEnclosingNamespace(SimpleName.SpanStart, cancellationToken); 404if (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)
434else if (symbol is INamespaceSymbol namespaceSymbol) 621private 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); 94var 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\roslyn\src\Compilers\Core\AnalyzerDriver\DeclarationComputer.cs (2)
75if (declaredSymbol is INamespaceSymbol namespaceSymbol && namespaceSymbol.ConstituentNamespaces.Length > 1) 78var assemblyScopedNamespaceSymbol = namespaceSymbol.ConstituentNamespaces.FirstOrDefault(static (ns, assemblyToScope) => ns.ContainingAssembly == assemblyToScope, assemblyToScope);
Microsoft.CodeAnalysis.NetAnalyzers (47)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\IdentifiersShouldDifferByMoreThanCase.cs (8)
53IEnumerable<INamespaceSymbol> globalNamespaces = context.Compilation.GlobalNamespace.GetNamespaceMembers() 94private static void CheckNamespaceMembers(IEnumerable<INamespaceSymbol> namespaces, CompilationAnalysisContext context) 96HashSet<INamespaceSymbol> excludedNamespaces = new HashSet<INamespaceSymbol>(); 97foreach (INamespaceSymbol @namespace in namespaces) 115IEnumerable<INamespaceSymbol> namespaceMembers = @namespace.GetNamespaceMembers(); 267private static void CheckNamespaceNames(IEnumerable<INamespaceSymbol> namespaces, CompilationAnalysisContext context) 276foreach (var namespaceSym in namespaces)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\IdentifiersShouldNotMatchKeywords.cs (1)
139INamespaceSymbol containingNamespace = type.ContainingNamespace;
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\TypeNamesShouldNotMatchNamespaces.cs (2)
123private static bool AddNamespacesFromCompilation(ConcurrentBag<string> namespaceNamesInCompilation, INamespaceSymbol @namespace) 127foreach (INamespaceSymbol namespaceMember in @namespace.GetNamespaceMembers())
Microsoft.CodeQuality.Analyzers\Maintainability\CodeMetricsAnalyzer.cs (1)
446var distinctNamespaces = new HashSet<INamespaceSymbol>();
Microsoft.NetCore.Analyzers\InteropServices\PlatformCompatibilityAnalyzer.cs (1)
1793while (container is INamespaceSymbol)
Microsoft.NetCore.Analyzers\Runtime\DetectPreviewFeatureAnalyzer.cs (1)
1005while (parent is INamespaceSymbol)
Microsoft.NetCore.Analyzers\Security\UseContainerLevelAccessPolicy.cs (7)
55var microsoftWindowsAzureStorageNamespaceSymbol = compilationStartAnalysisContext 61.OfType<INamespaceSymbol>() 64.OfType<INamespaceSymbol>() 72var namespaceTypeSymbolAndPolicyIdentifierNamePairs = new Dictionary<INamespaceSymbol, string>(); 76var nspaceTypeSymbol = microsoftWindowsAzureStorageNamespaceSymbol 78.OfType<INamespaceSymbol>() 115var namespaceSymbol = methodSymbol.ContainingNamespace;
Microsoft.NetCore.Analyzers\Security\UseSharedAccessProtocolHttpsOnly.cs (4)
53var microsoftWindowsAzureStorageNamespaceSymbol = compilationStartAnalysisContext 59.OfType<INamespaceSymbol>() 62.OfType<INamespaceSymbol>() 101var namespaceSymbol = methodSymbol.ContainingNamespace;
Microsoft.NetCore.Analyzers\Usage\ImplementGenericMathInterfacesCorrectly.cs (5)
61private void AnalyzeSymbol(SymbolAnalysisContext context, INamedTypeSymbol symbol, INamespaceSymbol systemNS, INamespaceSymbol systemNumericsNS) 141private static bool IsKnownInterface(INamedTypeSymbol anInterface, INamespaceSymbol systemNS, INamespaceSymbol systemNumericsNS) 143var iNamespace = anInterface.ContainingNamespace;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.AssemblyMetricData.cs (4)
77var namespacesWithTypeMember = new HashSet<INamespaceSymbol>(); 88foreach (INamespaceSymbol @namespace in namespacesWithTypeMember.OrderBy(ns => ns.ToDisplayString())) 95void processNamespace(INamespaceSymbol @namespace) 101processNamespace((INamespaceSymbol)child);
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.cs (5)
130if (((INamespaceSymbol)Symbol).IsGlobalNamespace) 270SymbolKind.Namespace => await NamespaceMetricData.ComputeAsync((INamespaceSymbol)symbol, context).ConfigureAwait(false), 308SymbolKind.Namespace => NamespaceMetricData.ComputeSynchronously((INamespaceSymbol)symbol, context), 328where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true } 335where !child.IsImplicitlyDeclared || child is INamespaceSymbol { IsGlobalNamespace: true }
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\CodeMetrics\CodeAnalysisMetricData.NamespaceMetricData.cs (5)
19INamespaceSymbol symbol, 31internal static async Task<NamespaceMetricData> ComputeAsync(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 37internal static NamespaceMetricData ComputeSynchronously(INamespaceSymbol @namespace, CodeMetricsAnalysisContext context) 43private static NamespaceMetricData ComputeFromChildren(INamespaceSymbol @namespace, ImmutableArray<CodeAnalysisMetricData> children, CodeMetricsAnalysisContext context) 73private static ImmutableArray<INamespaceOrTypeSymbol> GetChildSymbols(INamespaceSymbol @namespace)
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
33case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
207if (symbol is INamespaceSymbol namespaceSymbol && 210foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
Microsoft.CodeAnalysis.Razor.Compiler (1)
CSharp\SymbolExtensions.cs (1)
137return symbol is INamespaceSymbol { IsGlobalNamespace: true };
Microsoft.CodeAnalysis.ResxSourceGenerator (42)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
34case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\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.VisualBasic.NetAnalyzers (1)
Microsoft.NetCore.Analyzers\Runtime\BasicForwardCancellationTokenToInvocationsFixer.TypeNameVisitor.vb (1)
76Public Overrides Function VisitNamespace(symbol As INamespaceSymbol) As TypeSyntax
Microsoft.CodeAnalysis.Workspaces (140)
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)
113if (aliasSymbol.Target is INamedTypeSymbol { IsTupleType: false } 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)
Log\WorkspaceStructureLogger.cs (3)
273var namespaces = new Queue<INamespaceSymbol>(); 280var @ns = namespaces.Dequeue(); 285foreach (var childNamespace in @ns.GetNamespaceMembers())
Recommendations\AbstractRecommendationService.cs (1)
135if (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 (2)
259if (renamedSymbol is INamespaceSymbol { ContainingSymbol: INamespaceSymbol containingNamespace })
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\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
50type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
65public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 72public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 79public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\roslyn\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; 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 261var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Workspace\Solution\SolutionCompilationState.SymbolToProjectId.cs (1)
134if (symbol.IsKind(SymbolKind.Namespace, out INamespaceSymbol? ns))
Microsoft.DotNet.ApiCompatibility (15)
Mapping\AssemblyMapper.cs (10)
23private Dictionary<INamespaceSymbol, INamespaceMapper>? _namespaces; 33_namespaces = new Dictionary<INamespaceSymbol, INamespaceMapper>(Settings.SymbolEqualityComparer); 49Dictionary<INamespaceSymbol, List<INamedTypeSymbol>> typeForwards = ResolveTypeForwards(assemblyContainer, side, Settings.SymbolEqualityComparer, setIndex); 51Queue<INamespaceSymbol> queue = new(); 55INamespaceSymbol nsSymbol = queue.Dequeue(); 72foreach (INamespaceSymbol child in nsSymbol.GetNamespaceMembers()) 79foreach (KeyValuePair<INamespaceSymbol, List<INamedTypeSymbol>> kvp in typeForwards) 85INamespaceMapper AddMapper(INamespaceSymbol ns, bool checkIfExists = false, bool typeForwardsOnly = false) 102Dictionary<INamespaceSymbol, List<INamedTypeSymbol>> ResolveTypeForwards(ElementContainer<IAssemblySymbol> assembly, 107Dictionary<INamespaceSymbol, List<INamedTypeSymbol>> typeForwards = new(comparer);
Mapping\INamespaceMapper.cs (2)
9/// Interface that represents a mapping between two <see cref="INamespaceSymbol"/> objects. 13public interface INamespaceMapper : IElementMapper<INamespaceSymbol>
Mapping\NamespaceMapper.cs (3)
10/// Object that represents a mapping between two <see cref="INamespaceSymbol"/> objects. 14public class NamespaceMapper : ElementMapper<INamespaceSymbol>, INamespaceMapper 74private void AddOrCreateMappers(INamespaceSymbol? symbol, ElementSide side, int setIndex = 0)
Microsoft.Extensions.Configuration.Binder.SourceGeneration (1)
Parser\BinderInvocation.cs (1)
61ContainingNamespace: INamespaceSymbol containingNamespace,
Roslyn.Diagnostics.Analyzers (93)
AbstractDoNotCopyValue.cs (1)
319public override void VisitNamespace(INamespaceSymbol symbol)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\AnalyzerOptionsExtensions.cs (1)
34case SymbolKind.Namespace when ((INamespaceSymbol)symbol).IsGlobalNamespace:
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\Options\SymbolNamesWithValueOption.cs (2)
209if (symbol is INamespaceSymbol namespaceSymbol && 212foreach (var constituentNamespace in namespaceSymbol.ConstituentNamespaces)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.NamedTypeSymbolKey.cs (1)
123if (containingSymbolResolution.SymbolCount == 0 && errorType.ContainingSymbol is INamespaceSymbol containingNamespace)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
440public override void VisitNamespace(INamespaceSymbol namespaceSymbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\INamespaceOrTypeSymbolExtensions.cs (2)
77if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace)) 100if (current is INamespaceSymbol currentNs)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Extensions\Symbols\SymbolEquivalenceComparer.GetHashCodeVisitor.cs (2)
71SymbolKind.Namespace => CombineHashCodes((INamespaceSymbol)x, currentHash), 212private int CombineHashCodes(INamespaceSymbol x, int currentHash)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractFlagsEnumGenerator.cs (1)
50type.ContainingSymbol is INamespaceSymbol { Name: "System", ContainingNamespace.IsGlobalNamespace: true })
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationContext.cs (3)
67public IEnumerable<INamespaceSymbol> AdditionalImports { get; } 138IEnumerable<INamespaceSymbol>? additionalImports = null, 184Optional<IEnumerable<INamespaceSymbol>> additionalImports = default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (3)
47INamespaceSymbol @namespace, 50out INamespaceSymbol innermostNamespace) 63if (members is [INamespaceSymbol childNamespace] &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationSymbolFactory.cs (1)
503public static INamespaceSymbol CreateNamespaceSymbol(string name, IList<ISymbol>? imports = null, IList<INamespaceOrTypeSymbol>? members = null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerator.cs (4)
65public static Task<Document> AddNamedTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamedTypeSymbol namedType, CancellationToken cancellationToken) 72public static Task<Document> AddNamespaceDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceSymbol @namespace, CancellationToken cancellationToken) 79public static Task<Document> AddNamespaceOrTypeDeclarationAsync(CodeGenerationSolutionContext context, INamespaceSymbol destination, INamespaceOrTypeSymbol namespaceOrType, CancellationToken cancellationToken)
src\roslyn\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\roslyn\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\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\Symbols\CodeGenerationSymbol.cs (1)
85public INamespaceSymbol ContainingNamespace => null;
src\roslyn\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; 259private static bool IsInsideNamespace(SyntaxNode node, INamespaceSymbol symbol, SemanticModel model, CancellationToken cancellationToken) 261var containedNamespace = model.GetEnclosingNamespace(node.SpanStart, cancellationToken);
Roslyn.Diagnostics.CSharp.Analyzers (35)
src\roslyn\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\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (1)
309ContainingSymbol: INamespaceSymbol { Name: nameof(System), ContainingNamespace.IsGlobalNamespace: true }
src\roslyn\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\roslyn\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\roslyn\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( 149await foreach (var conflict in items.ConfigureAwait(false)) 211private void ProduceConflicts(SimpleNameSyntax node, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 216foreach (var conflictingSymbol in _importedTypes[(symbol.Name, node.Arity)]) 221private void ProduceConflicts(MemberAccessExpressionSyntax node, bool containsAnonymousMethods, Action<INamespaceSymbol> addConflict, CancellationToken cancellationToken) 254foreach (var conflictingSymbol in _importedExtensionMethods[method.Name])
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.ExpressionSyntaxGeneratorVisitor.cs (1)
85public override ExpressionSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (1)
312public override TypeSyntax VisitNamespace(INamespaceSymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SemanticModelExtensions.cs (1)
22public static INamespaceSymbol GetDeclaredSymbol(this SemanticModel semanticModel, BaseNamespaceDeclarationSyntax declarationSyntax, CancellationToken cancellationToken = default)
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);
System.Text.Json.SourceGeneration (2)
Helpers\RoslynExtensions.cs (2)
911static IEnumerable<INamedTypeSymbol> EnumerateNamedTypes(INamespaceSymbol namespaceSymbol) 915if (member is INamespaceSymbol childNamespace)