1 instantiation of UsingDirectiveSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
15354internal 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)
479public virtual TResult? VisitUsingDirective(UsingDirectiveSyntax node) => this.DefaultVisit(node); 1231public virtual void VisitUsingDirective(UsingDirectiveSyntax node) => this.DefaultVisit(node); 1982public override SyntaxNode? VisitUsingDirective(UsingDirectiveSyntax node) 4787public static CompilationUnitSyntax CompilationUnit(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken endOfFileToken) 4794public static CompilationUnitSyntax CompilationUnit(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members) 4820public static UsingDirectiveSyntax UsingDirective(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, SyntaxToken unsafeKeyword, NameEqualsSyntax? alias, TypeSyntax namespaceOrType, SyntaxToken semicolonToken) 4843return (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(); 4847public static UsingDirectiveSyntax UsingDirective(NameEqualsSyntax? alias, TypeSyntax namespaceOrType) 4851public static UsingDirectiveSyntax UsingDirective(TypeSyntax namespaceOrType) 4855public 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) 4871public static NamespaceDeclarationSyntax NamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, NameSyntax name, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 4879public static FileScopedNamespaceDeclarationSyntax FileScopedNamespaceDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken semicolonToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 4888public 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)
9307public SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 1)); 9339public CompilationUnitSyntax Update(SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<AttributeListSyntax> attributeLists, SyntaxList<MemberDeclarationSyntax> members, SyntaxToken endOfFileToken) 9352public CompilationUnitSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => Update(this.Externs, usings, this.AttributeLists, this.Members, this.EndOfFileToken); 9358public CompilationUnitSyntax AddUsings(params UsingDirectiveSyntax[] items) => WithUsings(this.Usings.AddRange(items)); 9487public UsingDirectiveSyntax Update(SyntaxToken globalKeyword, SyntaxToken usingKeyword, SyntaxToken staticKeyword, SyntaxToken unsafeKeyword, NameEqualsSyntax? alias, TypeSyntax namespaceOrType, SyntaxToken semicolonToken) 9491var newNode = SyntaxFactory.UsingDirective(globalKeyword, usingKeyword, staticKeyword, unsafeKeyword, alias, namespaceOrType, semicolonToken); 9499public UsingDirectiveSyntax WithGlobalKeyword(SyntaxToken globalKeyword) => Update(globalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9500public UsingDirectiveSyntax WithUsingKeyword(SyntaxToken usingKeyword) => Update(this.GlobalKeyword, usingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9501public UsingDirectiveSyntax WithStaticKeyword(SyntaxToken staticKeyword) => Update(this.GlobalKeyword, this.UsingKeyword, staticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9502public UsingDirectiveSyntax WithUnsafeKeyword(SyntaxToken unsafeKeyword) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, unsafeKeyword, this.Alias, this.NamespaceOrType, this.SemicolonToken); 9503public UsingDirectiveSyntax WithAlias(NameEqualsSyntax? alias) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, alias, this.NamespaceOrType, this.SemicolonToken); 9504public UsingDirectiveSyntax WithNamespaceOrType(TypeSyntax namespaceOrType) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, namespaceOrType, this.SemicolonToken); 9505public UsingDirectiveSyntax WithSemicolonToken(SyntaxToken semicolonToken) => Update(this.GlobalKeyword, this.UsingKeyword, this.StaticKeyword, this.UnsafeKeyword, this.Alias, this.NamespaceOrType, semicolonToken); 9555public abstract SyntaxList<UsingDirectiveSyntax> Usings { get; } 9556public BaseNamespaceDeclarationSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => WithUsingsCore(usings); 9557internal abstract BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings); 9559public BaseNamespaceDeclarationSyntax AddUsings(params UsingDirectiveSyntax[] items) => AddUsingsCore(items); 9560internal abstract BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items); 9615public override SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 6)); 9656public 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) 9679internal override BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings) => WithUsings(usings); 9680public 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); 9692internal override BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items) => AddUsings(items); 9693public new NamespaceDeclarationSyntax AddUsings(params UsingDirectiveSyntax[] items) => WithUsings(this.Usings.AddRange(items)); 9736public override SyntaxList<UsingDirectiveSyntax> Usings => new SyntaxList<UsingDirectiveSyntax>(GetRed(ref this.usings, 6)); 9765public FileScopedNamespaceDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken semicolonToken, SyntaxList<ExternAliasDirectiveSyntax> externs, SyntaxList<UsingDirectiveSyntax> usings, SyntaxList<MemberDeclarationSyntax> members) 9788internal override BaseNamespaceDeclarationSyntax WithUsingsCore(SyntaxList<UsingDirectiveSyntax> usings) => WithUsings(usings); 9789public new FileScopedNamespaceDeclarationSyntax WithUsings(SyntaxList<UsingDirectiveSyntax> usings) => Update(this.AttributeLists, this.Modifiers, this.NamespaceKeyword, this.Name, this.SemicolonToken, this.Externs, usings, this.Members); 9799internal override BaseNamespaceDeclarationSyntax AddUsingsCore(params UsingDirectiveSyntax[] items) => AddUsings(items); 9800public 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)
803public 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; 2056UsingDirectiveSyntax usingDirective => usingDirective.Name?.ToString() ?? string.Empty, 2086UsingDirectiveSyntax 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