1 instantiation of UsingDirectiveSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
15453internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.UsingDirectiveSyntax(this, parent, position);
482 references to UsingDirectiveSyntax
Microsoft.CodeAnalysis.CSharp (100)
_generated\0\Syntax.xml.Main.Generated.cs (13)
483public virtual TResult? VisitUsingDirective(UsingDirectiveSyntax node) => this.DefaultVisit(node); 1239public virtual void VisitUsingDirective(UsingDirectiveSyntax node) => this.DefaultVisit(node); 1994public override SyntaxNode? VisitUsingDirective(UsingDirectiveSyntax node) 4815public static CompilationUnitSyntax CompilationUnit(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken endOfFileToken) 4822public static CompilationUnitSyntax CompilationUnit(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members) 4848public static UsingDirectiveSyntax UsingDirective(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, SyntaxToken unsafeKeyword, NameEqualsSyntax? alias, TypeSyntax namespaceOrType, SyntaxToken semicolonToken) 4871return (UsingDirectiveSyntax)Syntax.InternalSyntax.SyntaxFactory.UsingDirective((Syntax.InternalSyntax.SyntaxToken?)globalKeyword.Node, (Syntax.InternalSyntax.SyntaxToken)usingKeyword.Node!, (Syntax.InternalSyntax.SyntaxToken?)staticKeyword.Node, (Syntax.InternalSyntax.SyntaxToken?)unsafeKeyword.Node, alias == null ? null : (Syntax.InternalSyntax.NameEqualsSyntax)alias.Green, (Syntax.InternalSyntax.TypeSyntax)namespaceOrType.Green, (Syntax.InternalSyntax.SyntaxToken)semicolonToken.Node!).CreateRed(); 4875public static UsingDirectiveSyntax UsingDirective(NameEqualsSyntax? alias, TypeSyntax namespaceOrType) 4879public static UsingDirectiveSyntax UsingDirective(TypeSyntax namespaceOrType) 4883public static NamespaceDeclarationSyntax NamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken openBraceToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken) 4899public static NamespaceDeclarationSyntax NamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, NameSyntax name, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 4907public static FileScopedNamespaceDeclarationSyntax FileScopedNamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken semicolonToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 4916public static FileScopedNamespaceDeclarationSyntax FileScopedNamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, NameSyntax name, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members)
_generated\2\Syntax.xml.Syntax.Generated.cs (33)
9362public SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 1)); 9394public CompilationUnitSyntax Update(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken endOfFileToken) 9407public CompilationUnitSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => Update(this.Externs, usings, this.AttributeLists, this.Members, this.EndOfFileToken); 9413public CompilationUnitSyntax AddUsings(params UsingDirectiveSyntax[] items) => WithUsings(this.Usings.AddRange(items)); 9542public UsingDirectiveSyntax Update(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, SyntaxToken unsafeKeyword, NameEqualsSyntax? alias, TypeSyntax namespaceOrType, SyntaxToken semicolonToken) 9546var newNode = SyntaxFactory.UsingDirective(globalKeyword, usingKeyword, staticKeyword, unsafeKeyword, alias, namespaceOrType, semicolonToken); 9554public UsingDirectiveSyntax WithGlobalKeyword(SyntaxToken globalKeyword) => Update(globalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9555public UsingDirectiveSyntax WithUsingKeyword(SyntaxToken usingKeyword) => Update(this.GlobalKeyword, usingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9556public UsingDirectiveSyntax WithStaticKeyword(SyntaxToken staticKeyword) => Update(this.GlobalKeyword, this.UsingKeyword, staticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9557public UsingDirectiveSyntax WithUnsafeKeyword(SyntaxToken unsafeKeyword) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, unsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9558public UsingDirectiveSyntax WithAlias(NameEqualsSyntax? alias) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, alias, this.NamespaceOrType, this.SemicolonToken); 9559public UsingDirectiveSyntax WithNamespaceOrType(TypeSyntax namespaceOrType) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, namespaceOrType, this.SemicolonToken); 9560public UsingDirectiveSyntax WithSemicolonToken(SyntaxToken semicolonToken) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, semicolonToken); 9610public abstract SyntaxList<UsingDirectiveSyntax> Usings { get; } 9611public BaseNamespaceDeclarationSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => WithUsingsCore(usings); 9612internal abstract BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings); 9614public BaseNamespaceDeclarationSyntax AddUsings(params UsingDirectiveSyntax[] items) => AddUsingsCore(items); 9615internal abstract BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items); 9670public override SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 6)); 9711public NamespaceDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken openBraceToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken) 9734internal override BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings) => WithUsings(usings); 9735public new NamespaceDeclarationSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => Update(this.AttributeLists, this.Modifiers, this.NamespaceKeyword, this.Name, this.OpenBraceToken, this.Externs, usings, this.Members, this.CloseBraceToken, this.SemicolonToken); 9747internal override BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items) => AddUsings(items); 9748public new NamespaceDeclarationSyntax AddUsings(params UsingDirectiveSyntax[] items) => WithUsings(this.Usings.AddRange(items)); 9791public override SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 6)); 9820public FileScopedNamespaceDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken semicolonToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 9843internal override BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings) => WithUsings(usings); 9844public new FileScopedNamespaceDeclarationSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => Update(this.AttributeLists, this.Modifiers, this.NamespaceKeyword, this.Name, this.SemicolonToken, this.Externs, usings, this.Members); 9854internal override BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items) => AddUsings(items); 9855public new FileScopedNamespaceDeclarationSyntax AddUsings(params UsingDirectiveSyntax[] items) => WithUsings(this.Usings.AddRange(items));
Binder\AliasAndUsingDirective.cs (3)
15public AliasAndUsingDirective(AliasSymbol alias, UsingDirectiveSyntax? usingDirective) 21public UsingDirectiveSyntax? UsingDirective => (UsingDirectiveSyntax?)UsingDirectiveReference?.GetSyntax();
Binder\Binder_Symbols.cs (3)
499if (refTypeSyntax.Parent is UsingDirectiveSyntax) 957if (node.Parent is UsingDirectiveSyntax { Alias: not null }) 1016case UsingDirectiveSyntax usingDirective:
Binder\ImportChain.cs (1)
106var syntax = aliasAndUsingDirective.UsingDirective;
Binder\NamespaceOrTypeAndUsingDirective.cs (3)
17public NamespaceOrTypeAndUsingDirective(NamespaceOrTypeSymbol namespaceOrType, UsingDirectiveSyntax? usingDirective, ImmutableArray<AssemblySymbol> dependencies) 24public UsingDirectiveSyntax? UsingDirective => (UsingDirectiveSyntax?)UsingDirectiveReference?.GetSyntax();
Binder\WithExternAndUsingAliasesBinder.cs (1)
173SyntaxList<UsingDirectiveSyntax> usingDirectives;
Compilation\CSharpCompilation.cs (2)
2866internal void RecordImport(UsingDirectiveSyntax syntax) 2883internal void RecordImportDependencies(UsingDirectiveSyntax syntax, ImmutableArray<AssemblySymbol> dependencies)
Compilation\CSharpSemanticModel.cs (3)
3208public abstract IAliasSymbol GetDeclaredSymbol(UsingDirectiveSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken)); 5185var usingDirective = (UsingDirectiveSyntax)node;
Compilation\MemberSemanticModel.cs (1)
810public override IAliasSymbol GetDeclaredSymbol(UsingDirectiveSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
355public override IAliasSymbol GetDeclaredSymbol(UsingDirectiveSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Compilation\SyntaxTreeSemanticModel.cs (1)
1938UsingDirectiveSyntax declarationSyntax,
CSharpExtensions.cs (1)
1568public static IAliasSymbol? GetDeclaredSymbol(this SemanticModel? semanticModel, UsingDirectiveSyntax declarationSyntax, CancellationToken cancellationToken = default(CancellationToken))
Declarations\DeclarationTreeBuilder.cs (6)
364SyntaxList<UsingDirectiveSyntax> usings, bool global) 368foreach (var directive in usings) 442foreach (var directive in compilationUnit.Usings) 477private static void CheckFeatureAvailabilityForUsings(DiagnosticBag diagnostics, SyntaxList<UsingDirectiveSyntax> usings) 479foreach (var usingDirective in usings) 601foreach (var directive in node.Usings)
SymbolDisplay\SymbolDisplayVisitor_Minimal.cs (2)
203if (startNode is UsingDirectiveSyntax) 222foreach (var u in usings)
Symbols\AliasSymbol.cs (4)
133: GetDeclaringSyntaxReferenceHelper<UsingDirectiveSyntax>(_locations); 288internal AliasSymbolFromSyntax(SourceNamespaceSymbol containingSymbol, UsingDirectiveSyntax syntax) 325: ResolveAliasTarget((UsingDirectiveSyntax)_directive.GetSyntax(), newDiagnostics, basesBeingResolved); 371UsingDirectiveSyntax usingDirective,
Symbols\Source\QuickAttributeChecker.cs (2)
86internal QuickAttributeChecker AddAliasesIfAny(SyntaxList<UsingDirectiveSyntax> usingsSyntax, bool onlyGlobalAliases = false) 95foreach (var usingDirective in usingsSyntax)
Symbols\Source\SourceNamespaceSymbol.AliasesAndUsings.cs (5)
554SyntaxList<UsingDirectiveSyntax> usingDirectives; 616SyntaxList<UsingDirectiveSyntax> usingDirectives, 652foreach (var usingDirective in usingDirectives) 1037UsingDirectiveSyntax usingDirective = @using.UsingDirective!; 1092void recordImportDependencies(UsingDirectiveSyntax usingDirective, NamespaceOrTypeSymbol target)
Syntax\NamespaceDeclarationSyntax.cs (1)
21public NamespaceDeclarationSyntax Update(SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken openBraceToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken)
Syntax\SyntaxFactory.cs (4)
2706public static UsingDirectiveSyntax UsingDirective(NameEqualsSyntax alias, NameSyntax name) 2716public static UsingDirectiveSyntax UsingDirective(SyntaxToken usingKeyword, SyntaxToken staticKeyword, NameEqualsSyntax? alias, NameSyntax name, SyntaxToken semicolonToken) 2748public static NamespaceDeclarationSyntax NamespaceDeclaration(NameSyntax name, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 2752public static NamespaceDeclarationSyntax NamespaceDeclaration(SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken openBraceToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken closeBraceToken, SyntaxToken semicolonToken)
Syntax\SyntaxFacts.cs (1)
251return ((UsingDirectiveSyntax)parent).NamespaceOrType == node;
Syntax\SyntaxNormalizer.cs (2)
675token.Parent.Parent?.Parent is not UsingDirectiveSyntax) 1398node is UsingDirectiveSyntax ||
Syntax\UsingDirectiveSyntax.cs (7)
12/// Returns the name this <see cref="UsingDirectiveSyntax"/> points at, or <see langword="null"/> if it does not 21public UsingDirectiveSyntax Update(SyntaxToken usingKeyword, SyntaxToken staticKeyword, NameEqualsSyntax? alias, NameSyntax name, SyntaxToken semicolonToken) 24public UsingDirectiveSyntax Update(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, NameEqualsSyntax? alias, NameSyntax name, SyntaxToken semicolonToken) 27public UsingDirectiveSyntax WithName(NameSyntax name) 37public static UsingDirectiveSyntax UsingDirective(SyntaxToken staticKeyword, NameEqualsSyntax? alias, NameSyntax name) 41public static UsingDirectiveSyntax UsingDirective(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, NameEqualsSyntax? alias, NameSyntax name, SyntaxToken semicolonToken) 45public static UsingDirectiveSyntax UsingDirective(NameSyntax name)
Microsoft.CodeAnalysis.CSharp.CodeStyle (46)
src\roslyn\src\Analyzers\CSharp\Analyzers\MisplacedUsingDirectives\MisplacedUsingDirectivesDiagnosticAnalyzer.cs (2)
108IEnumerable<UsingDirectiveSyntax> usingDirectives, CodeStyleOption2<AddImportPlacement> option) 110foreach (var usingDirective in usingDirectives)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (3)
25AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer<UsingDirectiveSyntax> 40protected override ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<UsingDirectiveSyntax> unnecessaryImports) 43protected override IUnnecessaryImportsProvider<UsingDirectiveSyntax> UnnecessaryImportsProvider
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
166foreach (var @using in location.GetEnclosingUsingDirectives())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 374var usingDirectiveAncestor = contextNode.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
55case UsingDirectiveSyntax usingNode:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (2)
462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (5)
223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node) 261private static bool AreUsingsProperlyGrouped(SyntaxList<UsingDirectiveSyntax> usings) 293private static string GetGroupIdentifier(UsingDirectiveSyntax usingDirective)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (4)
15: AbstractUnnecessaryImportsProvider<UsingDirectiveSyntax> 23public override ImmutableArray<UsingDirectiveSyntax> GetUnnecessaryImports( 32using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var result); 36root.FindNode(diagnostic.Location.SourceSpan) is UsingDirectiveSyntax node && predicate(node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (2)
154private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 156foreach (var @using in usings)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (4)
204=> node?.Parent is UsingDirectiveSyntax usingDirective && 208=> node is UsingDirectiveSyntax { Alias: not null }; 212var usingDirective = (UsingDirectiveSyntax)node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
103if (parent is UsingDirectiveSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
45private static UsingKind GetUsingKind(UsingDirectiveSyntax? usingDirective, ExternAliasDirectiveSyntax? externDirective) 89var using1 = directive1 as UsingDirectiveSyntax; 90var using2 = directive2 as UsingDirectiveSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (13)
18SyntaxList<UsingDirectiveSyntax> usingList, 23out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 42var firstUsing = organizedUsingList[0]; 46var newFirstUsing = firstUsing.WithPrependedLeadingTrivia(newLineTrivia); 53var lastUsing = organizedUsingList[i - 1]; 54var currentUsing = organizedUsingList[i]; 59var newCurrentUsing = currentUsing.WithPrependedLeadingTrivia(newLineTrivia); 68UsingDirectiveSyntax using1, 69UsingDirectiveSyntax using2) 108SyntaxList<UsingDirectiveSyntax> usingList, 112out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 150.Where(t => t is UsingDirectiveSyntax) 151.Cast<UsingDirectiveSyntax>()];
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (66)
src\roslyn\src\Analyzers\CSharp\CodeFixes\MisplacedUsingDirectives\MisplacedUsingDirectivesCodeFixProvider.cs (11)
106private static ImmutableArray<UsingDirectiveSyntax> GetAllUsingDirectives(CompilationUnitSyntax compilationUnit) 108using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var result); 110foreach (var usingDirective in compilationUnit.Usings) 171Document document, CompilationUnitSyntax compilationUnit, ImmutableArray<UsingDirectiveSyntax> allUsingDirectives, CancellationToken cancellationToken) 187private static async Task<SyntaxNode> ExpandUsingDirectiveAsync(Document document, UsingDirectiveSyntax usingDirective, CancellationToken cancellationToken) 254private static (BaseNamespaceDeclarationSyntax namespaceWithoutUsings, ImmutableArray<UsingDirectiveSyntax> usingsFromNamespace) RemoveUsingsFromNamespace( 286private static (IEnumerable<UsingDirectiveSyntax> deduplicatedUsings, IEnumerable<SyntaxTrivia> orphanedTrivia) RemoveDuplicateUsings( 287IEnumerable<UsingDirectiveSyntax> existingUsings, 288ImmutableArray<UsingDirectiveSyntax> usingsToAdd) 292var deduplicatedUsingsBuilder = ImmutableArray.CreateBuilder<UsingDirectiveSyntax>(); 295foreach (var usingDirective in usingsToAdd)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (2)
139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace) 150private static UsingDirectiveSyntax? GenerateUsingDirective(ISymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\BaseNamespaceDeclarationSyntaxExtensions.cs (2)
15IList<UsingDirectiveSyntax> usingDirectives, 22var newUsings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (7)
68UsingDirectiveSyntax usingDirective, 78IList<UsingDirectiveSyntax> usingDirectives, 102IList<UsingDirectiveSyntax> usingDirectives, 127var lastUsing = rootWithNewUsings.Usings.Last(); 140private static List<UsingDirectiveSyntax> AddUsingDirectives( 141CompilationUnitSyntax root, IList<UsingDirectiveSyntax> usingDirectives) 144var usings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
259isInImportsDirective: leftToken.GetAncestor<UsingDirectiveSyntax>() != null, 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 416var usingDirective = leftToken.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (5)
27var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 507targetToken.GetAncestors<UsingDirectiveSyntax>().Any(d => d.UnsafeKeyword.IsKind(SyntaxKind.UnsafeKeyword));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (5)
420(nextToken.Kind() == SyntaxKind.GlobalKeyword && nextToken.GetAncestor<UsingDirectiveSyntax>()?.GlobalKeyword == nextToken)) 582if (token.GetAncestor<UsingDirectiveSyntax>() is not null) 653var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 802token.GetAncestor<UsingDirectiveSyntax>() != null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
122foreach (var applicableUsing in applicableUsings) 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\UsingDirectiveSyntaxExtensions.cs (2)
15this List<UsingDirectiveSyntax> usingDirectives, 16SyntaxList<UsingDirectiveSyntax> existingDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (11)
26CompilationUnitSyntax, BaseNamespaceDeclarationSyntax, UsingDirectiveSyntax, ExternAliasDirectiveSyntax> 46if (usingNode.DeclaringSyntaxReference?.GetSyntax(cancellationToken) is UsingDirectiveSyntax usingDirective && 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 61protected override bool IsStaticUsing(UsingDirectiveSyntax usingOrAlias) 66UsingDirectiveSyntax[] usingDirectives, 67UsingDirectiveSyntax[] staticUsingDirectives, 68UsingDirectiveSyntax[] aliasDirectives, 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 107UsingDirectiveSyntax[] usingDirectives, 108UsingDirectiveSyntax[] staticUsingDirectives, 109UsingDirectiveSyntax[] aliasDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (2)
27AbstractRemoveUnnecessaryImportsService<UsingDirectiveSyntax> 34protected override IUnnecessaryImportsProvider<UsingDirectiveSyntax> UnnecessaryImportsProvider
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
24private readonly ISet<UsingDirectiveSyntax> _unnecessaryUsingsDoNotAccessDirectly; 28ISet<UsingDirectiveSyntax> unnecessaryUsings, 43SyntaxList<UsingDirectiveSyntax> usings, 44ISet<UsingDirectiveSyntax> usingsToRemove, 45out SyntaxList<UsingDirectiveSyntax> finalUsings, 48var currentUsings = new List<UsingDirectiveSyntax>(usings); 57var currentUsing = currentUsings[i]; 72var nextUsing = currentUsings[nextIndex]; 113var currentUsing = currentUsings[i]; 128private ISet<UsingDirectiveSyntax> GetUsingsToRemove( 129SyntaxList<UsingDirectiveSyntax> oldUsings, 130SyntaxList<UsingDirectiveSyntax> newUsings) 134var result = new HashSet<UsingDirectiveSyntax>();
Microsoft.CodeAnalysis.CSharp.Features (42)
AddImport\CSharpAddImportCodeRefactoringProvider.cs (1)
25UsingDirectiveSyntax>(CSharpSyntaxFacts.Instance)
AddImport\CSharpAddImportFeatureService.cs (5)
39=> node.GetAncestor<UsingDirectiveSyntax>()?.Parent is CompilationUnitSyntax; 407var usingDirective = UsingDirective( 449private static (UsingDirectiveSyntax, bool hasExistingImport) GetUsingDirective( 469var dummyUsing = UsingDirective(nameSyntax); 498var usingDirective = UsingDirective(nameSyntax)
Completion\CompletionProviders\ImportCompletion\ExtensionMemberImportCompletionProvider.cs (1)
43UsingDirectiveSyntax usingDirective => usingDirective.SemicolonToken == token,
Completion\CompletionProviders\ImportCompletion\TypeImportCompletionProvider.cs (2)
23internal sealed class TypeImportCompletionProvider : AbstractTypeImportCompletionProvider<UsingDirectiveSyntax> 45UsingDirectiveSyntax usingDirective => usingDirective.SemicolonToken == token,
Completion\KeywordRecommenders\NamespaceKeywordRecommender.cs (1)
80(nextToken.Kind() == SyntaxKind.GlobalKeyword && nextToken.GetAncestor<UsingDirectiveSyntax>()?.GlobalKeyword == nextToken))
ConvertProgram\ConvertProgramTransform_TopLevelStatements.cs (2)
76using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var directives); 90private static void AddUsingDirectives(NameSyntax name, SyntaxAnnotation annotation, ArrayBuilder<UsingDirectiveSyntax> directives)
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.cs (3)
107foreach (var usingDirective in compilationUnit.Usings) 118void AddAliasedName(UsingDirectiveSyntax usingDirective) 131foreach (var usingDirective in namespaceDeclaration.Usings)
EditAndContinue\SyntaxComparer.cs (5)
833var leftUsing = (UsingDirectiveSyntax)leftNode; 834var rightUsing = (UsingDirectiveSyntax)rightNode; 1428return ((UsingDirectiveSyntax)node).NamespaceOrType;
FullyQualify\CSharpFullyQualifyService.cs (2)
59simpleName.Parent is UsingDirectiveSyntax { Alias: null, StaticKeyword.RawKind: 0 } usingDirective) 61var newUsingDirective = usingDirective
GenerateType\CSharpGenerateTypeService.cs (3)
133var usingDirectiveSyntax = simpleName.GetAncestorOrThis<UsingDirectiveSyntax>(); 733var usingDirective = SyntaxFactory.UsingDirective(SyntaxFactory.ParseName(includeUsingsOrImports));
LineSeparators\CSharpLineSeparatorService.cs (1)
243private static void ProcessUsings(SyntaxList<UsingDirectiveSyntax> usings, ArrayBuilder<TextSpan> spans, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\MisplacedUsingDirectives\MisplacedUsingDirectivesDiagnosticAnalyzer.cs (2)
108IEnumerable<UsingDirectiveSyntax> usingDirectives, CodeStyleOption2<AddImportPlacement> option) 110foreach (var usingDirective in usingDirectives)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryImports\CSharpRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (3)
25AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer<UsingDirectiveSyntax> 40protected override ImmutableArray<SyntaxNode> MergeImports(ImmutableArray<UsingDirectiveSyntax> unnecessaryImports) 43protected override IUnnecessaryImportsProvider<UsingDirectiveSyntax> UnnecessaryImportsProvider
src\roslyn\src\Analyzers\CSharp\CodeFixes\MisplacedUsingDirectives\MisplacedUsingDirectivesCodeFixProvider.cs (11)
106private static ImmutableArray<UsingDirectiveSyntax> GetAllUsingDirectives(CompilationUnitSyntax compilationUnit) 108using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var result); 110foreach (var usingDirective in compilationUnit.Usings) 171Document document, CompilationUnitSyntax compilationUnit, ImmutableArray<UsingDirectiveSyntax> allUsingDirectives, CancellationToken cancellationToken) 187private static async Task<SyntaxNode> ExpandUsingDirectiveAsync(Document document, UsingDirectiveSyntax usingDirective, CancellationToken cancellationToken) 254private static (BaseNamespaceDeclarationSyntax namespaceWithoutUsings, ImmutableArray<UsingDirectiveSyntax> usingsFromNamespace) RemoveUsingsFromNamespace( 286private static (IEnumerable<UsingDirectiveSyntax> deduplicatedUsings, IEnumerable<SyntaxTrivia> orphanedTrivia) RemoveDuplicateUsings( 287IEnumerable<UsingDirectiveSyntax> existingUsings, 288ImmutableArray<UsingDirectiveSyntax> usingsToAdd) 292var deduplicatedUsingsBuilder = ImmutableArray.CreateBuilder<UsingDirectiveSyntax>(); 295foreach (var usingDirective in usingsToAdd)
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (2)
Microsoft.CodeQuality.Analyzers\Maintainability\CSharpAvoidUninstantiatedInternalClasses.cs (2)
21var usingDirective = (UsingDirectiveSyntax)context.Node;
Microsoft.CodeAnalysis.CSharp.Workspaces (123)
Classification\SyntaxClassification\UsingDirectiveSyntaxClassifier.cs (3)
26if (syntax is UsingDirectiveSyntax usingDirective) 32public override ImmutableArray<Type> SyntaxNodeTypes { get; } = [typeof(UsingDirectiveSyntax)]; 35UsingDirectiveSyntax usingDirective,
CodeGeneration\CSharpSyntaxGenerator.cs (5)
108private SyntaxList<UsingDirectiveSyntax> AsUsingDirectives(IEnumerable<SyntaxNode> declarations) 111? [.. declarations.Select(this.AsUsingDirective).OfType<UsingDirectiveSyntax>()] 122return node as UsingDirectiveSyntax; 2064UsingDirectiveSyntax usingDirective => usingDirective.Name?.ToString() ?? string.Empty, 2094UsingDirectiveSyntax usingDeclaration => ReplaceWithTrivia(declaration, usingDeclaration.NamespaceOrType, this.DottedName(name)),
FindSymbols\CSharpDeclaredSymbolInfoFactoryService.cs (6)
33UsingDirectiveSyntax, 103private static void ProcessUsings(List<Dictionary<string, string>> aliasMaps, SyntaxList<UsingDirectiveSyntax> usings) 107foreach (var usingDecl in usings) 464protected override SyntaxList<UsingDirectiveSyntax> GetUsingAliases(CompilationUnitSyntax node) 467protected override SyntaxList<UsingDirectiveSyntax> GetUsingAliases(BaseNamespaceDeclarationSyntax node) 618UsingDirectiveSyntax usingDirectiveNode, out ImmutableArray<(string aliasName, string name)> aliases)
Recommendations\CSharpRecommendationServiceRunner.cs (2)
579var usingDirective = name.GetAncestorOrThis<UsingDirectiveSyntax>();
Rename\CSharpRenameRewriterLanguageService.cs (4)
867var currentUsing = (UsingDirectiveSyntax)token.Parent!.Parent!.Parent!; 870SyntaxList<UsingDirectiveSyntax> usings; 881foreach (var usingDirective in usings)
Simplification\CSharpSimplificationService.cs (1)
194if (root.FindNode(diagnostic.Location.SourceSpan) is UsingDirectiveSyntax node)
Simplification\Simplifiers\AbstractCSharpSimplifier.cs (3)
238foreach (var usingDirective in usings) 342var usingDirective = startNode.GetAncestorOrThis<UsingDirectiveSyntax>();
Simplification\Simplifiers\ExpressionSimplifier.cs (1)
148var declIdentifier = ((UsingDirectiveSyntax)syntaxRef.GetSyntax(cancellationToken)).Alias!.Name.Identifier;
Simplification\Simplifiers\NameSimplifier.cs (2)
124var declIdentifier = ((UsingDirectiveSyntax)syntaxRef.GetSyntax(cancellationToken)).Alias.Name.Identifier; 692if (name?.Parent is UsingDirectiveSyntax usingDirective &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
166foreach (var @using in location.GetEnclosingUsingDirectives())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 374var usingDirectiveAncestor = contextNode.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
55case UsingDirectiveSyntax usingNode:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (2)
462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (5)
223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node) 261private static bool AreUsingsProperlyGrouped(SyntaxList<UsingDirectiveSyntax> usings) 293private static string GetGroupIdentifier(UsingDirectiveSyntax usingDirective)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (4)
15: AbstractUnnecessaryImportsProvider<UsingDirectiveSyntax> 23public override ImmutableArray<UsingDirectiveSyntax> GetUnnecessaryImports( 32using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var result); 36root.FindNode(diagnostic.Location.SourceSpan) is UsingDirectiveSyntax node && predicate(node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (2)
154private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 156foreach (var @using in usings)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (4)
204=> node?.Parent is UsingDirectiveSyntax usingDirective && 208=> node is UsingDirectiveSyntax { Alias: not null }; 212var usingDirective = (UsingDirectiveSyntax)node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
103if (parent is UsingDirectiveSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
45private static UsingKind GetUsingKind(UsingDirectiveSyntax? usingDirective, ExternAliasDirectiveSyntax? externDirective) 89var using1 = directive1 as UsingDirectiveSyntax; 90var using2 = directive2 as UsingDirectiveSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (13)
18SyntaxList<UsingDirectiveSyntax> usingList, 23out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 42var firstUsing = organizedUsingList[0]; 46var newFirstUsing = firstUsing.WithPrependedLeadingTrivia(newLineTrivia); 53var lastUsing = organizedUsingList[i - 1]; 54var currentUsing = organizedUsingList[i]; 59var newCurrentUsing = currentUsing.WithPrependedLeadingTrivia(newLineTrivia); 68UsingDirectiveSyntax using1, 69UsingDirectiveSyntax using2) 108SyntaxList<UsingDirectiveSyntax> usingList, 112out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 150.Where(t => t is UsingDirectiveSyntax) 151.Cast<UsingDirectiveSyntax>()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (2)
139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace) 150private static UsingDirectiveSyntax? GenerateUsingDirective(ISymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\BaseNamespaceDeclarationSyntaxExtensions.cs (2)
15IList<UsingDirectiveSyntax> usingDirectives, 22var newUsings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (7)
68UsingDirectiveSyntax usingDirective, 78IList<UsingDirectiveSyntax> usingDirectives, 102IList<UsingDirectiveSyntax> usingDirectives, 127var lastUsing = rootWithNewUsings.Usings.Last(); 140private static List<UsingDirectiveSyntax> AddUsingDirectives( 141CompilationUnitSyntax root, IList<UsingDirectiveSyntax> usingDirectives) 144var usings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
259isInImportsDirective: leftToken.GetAncestor<UsingDirectiveSyntax>() != null, 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 416var usingDirective = leftToken.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (5)
27var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 507targetToken.GetAncestors<UsingDirectiveSyntax>().Any(d => d.UnsafeKeyword.IsKind(SyntaxKind.UnsafeKeyword));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (5)
420(nextToken.Kind() == SyntaxKind.GlobalKeyword && nextToken.GetAncestor<UsingDirectiveSyntax>()?.GlobalKeyword == nextToken)) 582if (token.GetAncestor<UsingDirectiveSyntax>() is not null) 653var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 802token.GetAncestor<UsingDirectiveSyntax>() != null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
122foreach (var applicableUsing in applicableUsings) 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\UsingDirectiveSyntaxExtensions.cs (2)
15this List<UsingDirectiveSyntax> usingDirectives, 16SyntaxList<UsingDirectiveSyntax> existingDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (11)
26CompilationUnitSyntax, BaseNamespaceDeclarationSyntax, UsingDirectiveSyntax, ExternAliasDirectiveSyntax> 46if (usingNode.DeclaringSyntaxReference?.GetSyntax(cancellationToken) is UsingDirectiveSyntax usingDirective && 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 61protected override bool IsStaticUsing(UsingDirectiveSyntax usingOrAlias) 66UsingDirectiveSyntax[] usingDirectives, 67UsingDirectiveSyntax[] staticUsingDirectives, 68UsingDirectiveSyntax[] aliasDirectives, 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 107UsingDirectiveSyntax[] usingDirectives, 108UsingDirectiveSyntax[] staticUsingDirectives, 109UsingDirectiveSyntax[] aliasDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (2)
27AbstractRemoveUnnecessaryImportsService<UsingDirectiveSyntax> 34protected override IUnnecessaryImportsProvider<UsingDirectiveSyntax> UnnecessaryImportsProvider
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
24private readonly ISet<UsingDirectiveSyntax> _unnecessaryUsingsDoNotAccessDirectly; 28ISet<UsingDirectiveSyntax> unnecessaryUsings, 43SyntaxList<UsingDirectiveSyntax> usings, 44ISet<UsingDirectiveSyntax> usingsToRemove, 45out SyntaxList<UsingDirectiveSyntax> finalUsings, 48var currentUsings = new List<UsingDirectiveSyntax>(usings); 57var currentUsing = currentUsings[i]; 72var nextUsing = currentUsings[nextIndex]; 113var currentUsing = currentUsings[i]; 128private ISet<UsingDirectiveSyntax> GetUsingsToRemove( 129SyntaxList<UsingDirectiveSyntax> oldUsings, 130SyntaxList<UsingDirectiveSyntax> newUsings) 134var result = new HashSet<UsingDirectiveSyntax>();
QuarantineTools.Tests (4)
ActiveIssueTests.cs (2)
464var allUsings = root.DescendantNodes().OfType<UsingDirectiveSyntax>() 472var usingDirective = SyntaxFactory.UsingDirective(SyntaxFactory.ParseName(namespaceName))
QuarantineScriptTests.cs (2)
420var usingDirective = SyntaxFactory.UsingDirective(SyntaxFactory.ParseName(namespaceName)) 433var nodesToRemove = root.DescendantNodes().OfType<UsingDirectiveSyntax>()
Roslyn.Diagnostics.CSharp.Analyzers (96)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SemanticModelExtensions.cs (1)
166foreach (var @using in location.GetEnclosingUsingDirectives())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
308public static IEnumerable<UsingDirectiveSyntax> GetEnclosingUsingDirectives(this SyntaxNode node) 374var usingDirectiveAncestor = contextNode.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\AnchorIndentationFormattingRule.cs (1)
55case UsingDirectiveSyntax usingNode:
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (2)
462else if (previousToken.Parent is UsingDirectiveSyntax) 464return currentToken.Parent is UsingDirectiveSyntax ? 1 : 2;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\TokenBasedFormattingRule.cs (5)
223if (previousToken.Parent is UsingDirectiveSyntax previousUsing) 228currentToken.Parent is UsingDirectiveSyntax currentUsing && 253private static SyntaxList<UsingDirectiveSyntax> GetUsings(SyntaxNode node) 261private static bool AreUsingsProperlyGrouped(SyntaxList<UsingDirectiveSyntax> usings) 293private static string GetGroupIdentifier(UsingDirectiveSyntax usingDirective)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Helpers\RemoveUnnecessaryImports\CSharpUnnecessaryImportsProvider.cs (4)
15: AbstractUnnecessaryImportsProvider<UsingDirectiveSyntax> 23public override ImmutableArray<UsingDirectiveSyntax> GetUnnecessaryImports( 32using var _ = ArrayBuilder<UsingDirectiveSyntax>.GetInstance(out var result); 36root.FindNode(diagnostic.Location.SourceSpan) is UsingDirectiveSyntax node && predicate(node))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (2)
154private static void AppendAliasNames(SyntaxList<UsingDirectiveSyntax> usings, ImmutableHashSet<string>.Builder builder) 156foreach (var @using in usings)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (4)
204=> node?.Parent is UsingDirectiveSyntax usingDirective && 208=> node is UsingDirectiveSyntax { Alias: not null }; 212var usingDirective = (UsingDirectiveSyntax)node;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\FormattingRangeHelper.cs (1)
103if (parent is UsingDirectiveSyntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesDirectiveComparer.cs (5)
45private static UsingKind GetUsingKind(UsingDirectiveSyntax? usingDirective, ExternAliasDirectiveSyntax? externDirective) 89var using1 = directive1 as UsingDirectiveSyntax; 90var using2 = directive2 as UsingDirectiveSyntax;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\UsingsAndExternAliasesOrganizer.cs (13)
18SyntaxList<UsingDirectiveSyntax> usingList, 23out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 42var firstUsing = organizedUsingList[0]; 46var newFirstUsing = firstUsing.WithPrependedLeadingTrivia(newLineTrivia); 53var lastUsing = organizedUsingList[i - 1]; 54var currentUsing = organizedUsingList[i]; 59var newCurrentUsing = currentUsing.WithPrependedLeadingTrivia(newLineTrivia); 68UsingDirectiveSyntax using1, 69UsingDirectiveSyntax using2) 108SyntaxList<UsingDirectiveSyntax> usingList, 112out SyntaxList<UsingDirectiveSyntax> organizedUsingList) 150.Where(t => t is UsingDirectiveSyntax) 151.Cast<UsingDirectiveSyntax>()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\NamespaceGenerator.cs (2)
139private static SyntaxList<UsingDirectiveSyntax> GenerateUsingDirectives(INamespaceSymbol innermostNamespace) 150private static UsingDirectiveSyntax? GenerateUsingDirective(ISymbol symbol)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\BaseNamespaceDeclarationSyntaxExtensions.cs (2)
15IList<UsingDirectiveSyntax> usingDirectives, 22var newUsings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\CompilationUnitSyntaxExtensions.cs (7)
68UsingDirectiveSyntax usingDirective, 78IList<UsingDirectiveSyntax> usingDirectives, 102IList<UsingDirectiveSyntax> usingDirectives, 127var lastUsing = rootWithNewUsings.Usings.Last(); 140private static List<UsingDirectiveSyntax> AddUsingDirectives( 141CompilationUnitSyntax root, IList<UsingDirectiveSyntax> usingDirectives) 144var usings = new List<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\CSharpSyntaxContext.cs (4)
259isInImportsDirective: leftToken.GetAncestor<UsingDirectiveSyntax>() != null, 282isRightAfterUsingOrImportDirective: targetToken.Parent is UsingDirectiveSyntax usingDirective && usingDirective?.GetLastToken() == targetToken, 416var usingDirective = leftToken.GetAncestor<UsingDirectiveSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTokenExtensions.cs (5)
27var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 41if (token is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 48token.GetPreviousToken() is { RawKind: (int)SyntaxKind.StaticKeyword, Parent: UsingDirectiveSyntax }) 507targetToken.GetAncestors<UsingDirectiveSyntax>().Any(d => d.UnsafeKeyword.IsKind(SyntaxKind.UnsafeKeyword));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (5)
420(nextToken.Kind() == SyntaxKind.GlobalKeyword && nextToken.GetAncestor<UsingDirectiveSyntax>()?.GlobalKeyword == nextToken)) 582if (token.GetAncestor<UsingDirectiveSyntax>() is not null) 653var usingDirective = token.GetAncestor<UsingDirectiveSyntax>(); 802token.GetAncestor<UsingDirectiveSyntax>() != null)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs (2)
122foreach (var applicableUsing in applicableUsings) 139private static IEnumerable<UsingDirectiveSyntax> GetApplicableUsings(int position, SyntaxNode root)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\UsingDirectiveSyntaxExtensions.cs (2)
15this List<UsingDirectiveSyntax> usingDirectives, 16SyntaxList<UsingDirectiveSyntax> existingDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpAddImportsService.cs (11)
26CompilationUnitSyntax, BaseNamespaceDeclarationSyntax, UsingDirectiveSyntax, ExternAliasDirectiveSyntax> 46if (usingNode.DeclaringSyntaxReference?.GetSyntax(cancellationToken) is UsingDirectiveSyntax usingDirective && 58protected override SyntaxNode? GetAlias(UsingDirectiveSyntax usingOrAlias) 61protected override bool IsStaticUsing(UsingDirectiveSyntax usingOrAlias) 66UsingDirectiveSyntax[] usingDirectives, 67UsingDirectiveSyntax[] staticUsingDirectives, 68UsingDirectiveSyntax[] aliasDirectives, 86protected override SyntaxList<UsingDirectiveSyntax> GetUsingsAndAliases(SyntaxNode node) 107UsingDirectiveSyntax[] usingDirectives, 108UsingDirectiveSyntax[] staticUsingDirectives, 109UsingDirectiveSyntax[] aliasDirectives,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.cs (2)
27AbstractRemoveUnnecessaryImportsService<UsingDirectiveSyntax> 34protected override IUnnecessaryImportsProvider<UsingDirectiveSyntax> UnnecessaryImportsProvider
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpRemoveUnnecessaryImportsService.Rewriter.cs (13)
24private readonly ISet<UsingDirectiveSyntax> _unnecessaryUsingsDoNotAccessDirectly; 28ISet<UsingDirectiveSyntax> unnecessaryUsings, 43SyntaxList<UsingDirectiveSyntax> usings, 44ISet<UsingDirectiveSyntax> usingsToRemove, 45out SyntaxList<UsingDirectiveSyntax> finalUsings, 48var currentUsings = new List<UsingDirectiveSyntax>(usings); 57var currentUsing = currentUsings[i]; 72var nextUsing = currentUsings[nextIndex]; 113var currentUsing = currentUsings[i]; 128private ISet<UsingDirectiveSyntax> GetUsingsToRemove( 129SyntaxList<UsingDirectiveSyntax> oldUsings, 130SyntaxList<UsingDirectiveSyntax> newUsings) 134var result = new HashSet<UsingDirectiveSyntax>();
System.Windows.Forms.Analyzers.CodeFixes.CSharp (3)
System\Windows\Forms\CSharp\CodeFixes\AddDesignerSerializationVisibility\AddDesignerSerializationVisibilityCodeFixProvider.cs (3)
102.OfType<UsingDirectiveSyntax>() 111.OfType<UsingDirectiveSyntax>() 138UsingDirectiveSyntax usingDirective = SyntaxFactory