6 implementations of INamespaceSymbol
GenerateDocumentationAndConfigFiles (1)
Microsoft.CodeAnalysis.Analyzers (1)
Microsoft.CodeAnalysis.CodeStyle.Fixes (1)
Microsoft.CodeAnalysis.CSharp (1)
Microsoft.CodeAnalysis.Workspaces (1)
Roslyn.Diagnostics.Analyzers (1)
960 references to INamespaceSymbol
ConfigurationSchemaGenerator (1)
GenerateDocumentationAndConfigFiles (78)
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\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\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)
Microsoft.AspNetCore.App.Analyzers (1)
Microsoft.AspNetCore.Components.Analyzers (1)
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
Microsoft.AspNetCore.OpenApi.SourceGenerators (1)
Microsoft.CodeAnalysis (38)
Microsoft.CodeAnalysis.Analyzers (98)
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\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\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)
Microsoft.CodeAnalysis.CodeStyle (25)
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\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\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)
Microsoft.CodeAnalysis.CSharp.CodeStyle (4)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (31)
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])
Microsoft.CodeAnalysis.CSharp.Features (18)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (1)
Microsoft.CodeAnalysis.CSharp.Workspaces (42)
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])
Microsoft.CodeAnalysis.Extensions.Package (10)
Microsoft.CodeAnalysis.Features (76)
Microsoft.CodeAnalysis.NetAnalyzers (47)
Microsoft.CodeAnalysis.Razor.Compiler (1)
Microsoft.CodeAnalysis.ResxSourceGenerator (42)
Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers (1)
Microsoft.CodeAnalysis.Workspaces (140)
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,
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);
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\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\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.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);
Microsoft.Extensions.Configuration.Binder.SourceGeneration (1)
Roslyn.Diagnostics.Analyzers (93)
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\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\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\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])
System.Private.CoreLib.Generators (11)
System.Text.Json.SourceGeneration (2)