17 types derived from DirectiveTriviaSyntax
Microsoft.CodeAnalysis.CSharp (17)
_generated\2\Syntax.xml.Syntax.Generated.cs (17)
15851public abstract partial class BranchingDirectiveTriviaSyntax : DirectiveTriviaSyntax 16056public sealed partial class EndIfDirectiveTriviaSyntax : DirectiveTriviaSyntax 16105public sealed partial class RegionDirectiveTriviaSyntax : DirectiveTriviaSyntax 16154public sealed partial class EndRegionDirectiveTriviaSyntax : DirectiveTriviaSyntax 16203public sealed partial class ErrorDirectiveTriviaSyntax : DirectiveTriviaSyntax 16252public sealed partial class WarningDirectiveTriviaSyntax : DirectiveTriviaSyntax 16301public sealed partial class BadDirectiveTriviaSyntax : DirectiveTriviaSyntax 16350public sealed partial class DefineDirectiveTriviaSyntax : DirectiveTriviaSyntax 16402public sealed partial class UndefDirectiveTriviaSyntax : DirectiveTriviaSyntax 16448public abstract partial class LineOrSpanDirectiveTriviaSyntax : DirectiveTriviaSyntax 16674public sealed partial class PragmaWarningDirectiveTriviaSyntax : DirectiveTriviaSyntax 16742public sealed partial class PragmaChecksumDirectiveTriviaSyntax : DirectiveTriviaSyntax 16803public sealed partial class ReferenceDirectiveTriviaSyntax : DirectiveTriviaSyntax 16855public sealed partial class LoadDirectiveTriviaSyntax : DirectiveTriviaSyntax 16907public sealed partial class ShebangDirectiveTriviaSyntax : DirectiveTriviaSyntax 16956public sealed partial class IgnoredDirectiveTriviaSyntax : DirectiveTriviaSyntax 17015public sealed partial class NullableDirectiveTriviaSyntax : DirectiveTriviaSyntax
244 references to DirectiveTriviaSyntax
Microsoft.AspNetCore.App.Analyzers (1)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (1)
118if (node is DirectiveTriviaSyntax)
Microsoft.CodeAnalysis.CSharp (100)
_generated\2\Syntax.xml.Syntax.Generated.cs (44)
15841public DirectiveTriviaSyntax WithHashToken(SyntaxToken hashToken) => WithHashTokenCore(hashToken); 15842internal abstract DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken); 15845public DirectiveTriviaSyntax WithEndOfDirectiveToken(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveTokenCore(endOfDirectiveToken); 15846internal abstract DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken); 15926internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15931internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15986internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15991internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16041internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16044internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16091internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16094internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16140internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16143internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16189internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16192internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16238internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16241internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16287internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16290internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16336internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16339internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16387internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16391internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16439internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16443internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16519internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16526internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16653internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16663internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16723internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16729internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16785internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16792internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16840internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16844internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16892internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16896internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16942internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16945internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 17000internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 17004internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 17061internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 17066internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
Compilation\CSharpCompilation.cs (1)
4023foreach (var directive in checksumDirectives)
CSharpExtensions.cs (6)
372internal static IList<DirectiveTriviaSyntax> GetDirectives(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? filter = null) 380public static DirectiveTriviaSyntax? GetFirstDirective(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? predicate = null) 388public static DirectiveTriviaSyntax? GetLastDirective(this SyntaxNode node, Func<DirectiveTriviaSyntax, bool>? predicate = null)
Syntax\CSharpLineDirectiveMap.cs (3)
14internal class CSharpLineDirectiveMap : LineDirectiveMap<DirectiveTriviaSyntax> 22protected override bool ShouldAddDirective(DirectiveTriviaSyntax directive) 28protected override LineMappingEntry GetEntry(DirectiveTriviaSyntax directiveNode, SourceText sourceText, LineMappingEntry previous)
Syntax\CSharpPragmaWarningStateMap.cs (5)
47var directives = ArrayBuilder<DirectiveTriviaSyntax>.GetInstance(); 58private static void GetAllPragmaWarningDirectives(SyntaxTree syntaxTree, ArrayBuilder<DirectiveTriviaSyntax> directiveList) 60foreach (var d in syntaxTree.GetRoot().GetDirectives()) 80private static WarningStateMapEntry[] CreatePragmaWarningStateEntries(ArrayBuilder<DirectiveTriviaSyntax> directiveList) 96var currentDirective = directiveList[index];
Syntax\CSharpSyntaxNode.cs (13)
220internal IList<DirectiveTriviaSyntax> GetDirectives(Func<DirectiveTriviaSyntax, bool>? filter = null) 222return ((SyntaxNodeOrToken)this).GetDirectives<DirectiveTriviaSyntax>(filter); 228public DirectiveTriviaSyntax? GetFirstDirective(Func<DirectiveTriviaSyntax, bool>? predicate = null) 236var d = node.GetFirstDirective(predicate); 251var d = (DirectiveTriviaSyntax)tr.GetStructure()!; 268public DirectiveTriviaSyntax? GetLastDirective(Func<DirectiveTriviaSyntax, bool>? predicate = null) 276var d = node.GetLastDirective(predicate); 291var d = (DirectiveTriviaSyntax)tr.GetStructure()!;
Syntax\CSharpSyntaxTree.cs (1)
235foreach (DirectiveTriviaSyntax directive in this.GetRoot().GetDirectives(d =>
Syntax\DirectiveTriviaSyntax.cs (21)
69public DirectiveTriviaSyntax? GetNextDirective(Func<DirectiveTriviaSyntax, bool>? predicate = null) 79var d = (DirectiveTriviaSyntax)tr.GetStructure()!; 100public DirectiveTriviaSyntax? GetPreviousDirective(Func<DirectiveTriviaSyntax, bool>? predicate = null) 110var d = (DirectiveTriviaSyntax)tr.GetStructure()!; 131public List<DirectiveTriviaSyntax> GetRelatedDirectives() 133var list = new List<DirectiveTriviaSyntax>(); 138private void GetRelatedDirectives(List<DirectiveTriviaSyntax> list) 141var p = this.GetPreviousRelatedDirective(); 150var n = this.GetNextRelatedDirective(); 158private DirectiveTriviaSyntax? GetNextRelatedDirective() 160DirectiveTriviaSyntax? d = this; 224private DirectiveTriviaSyntax? GetNextPossiblyRelatedDirective() 226DirectiveTriviaSyntax? d = this; 258private DirectiveTriviaSyntax? GetPreviousRelatedDirective() 260DirectiveTriviaSyntax? d = this; 325private DirectiveTriviaSyntax? GetPreviousPossiblyRelatedDirective() 327DirectiveTriviaSyntax? d = this;
Syntax\NullableContextStateMap.cs (1)
141foreach (var d in tree.GetRoot().GetDirectives())
Syntax\SyntaxNodeRemover.cs (5)
145if (trivia.IsDirective && trivia.GetStructure() is DirectiveTriviaSyntax directive) 436.Select(tr => (DirectiveTriviaSyntax)tr.GetStructure()!); 438foreach (var directive in directivesInSpan) 459foreach (var unbalancedDirective in relatedDirectives.Where(rd => rd.FullSpan.OverlapsWith(span))) 496private static bool HasRelatedDirectives(DirectiveTriviaSyntax directive)
Microsoft.CodeAnalysis.CSharp.CodeStyle (37)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (2)
105for (var directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective()) 188for (var directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117if (node is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25private static readonly Matcher<DirectiveTriviaSyntax> s_conditionalDirectivesMatches = 26Matcher<DirectiveTriviaSyntax>.Sequence( 27Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)), 28Matcher<DirectiveTriviaSyntax>.Repeat( 29Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))), 30Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)), 31Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax))); 81var firstDirective = (DirectiveTriviaSyntax)leadingDirectives.First().GetStructure()!; 105foreach (var conditionalDirective in conditionalDirectives) 127if (!conditionalDirectives.Contains((DirectiveTriviaSyntax)closeBraceDirective.GetStructure()!))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18var directive = token.GetAncestor<DirectiveTriviaSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken) 34=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<DirectiveTriviaSyntax>( 37public static DirectiveTriviaSyntax? GetMatchingDirective(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 43if (directiveSyntaxMap.TryGetValue(directive, out var result)) 50public static ImmutableArray<DirectiveTriviaSyntax> GetMatchingConditionalDirectives(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 62private static bool IsRegionDirective(DirectiveTriviaSyntax directive) 65private static bool IsConditionalDirective(DirectiveTriviaSyntax directive)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301if (nodeParent is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
545var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 559var directives = ((DirectiveTriviaSyntax)structure).GetMatchingConditionalDirectives(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138var matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321var endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword)); 332private static bool IsFormatDirective(DirectiveTriviaSyntax? trivia, SyntaxKind disableOrRestoreKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
143=> node is DirectiveTriviaSyntax; 1284=> ((DirectiveTriviaSyntax)directive).GetMatchingDirective(cancellationToken); 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>();
Microsoft.CodeAnalysis.CSharp.Features (31)
BraceMatching\CSharpDirectiveTriviaBraceMatcher.cs (6)
18internal sealed class CSharpDirectiveTriviaBraceMatcher : AbstractDirectiveTriviaBraceMatcher<DirectiveTriviaSyntax, 29protected override ImmutableArray<DirectiveTriviaSyntax> GetMatchingConditionalDirectives(DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 32protected override DirectiveTriviaSyntax? GetMatchingDirective(DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 35internal override TextSpan GetSpanForTagging(DirectiveTriviaSyntax directive)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (4)
26private static readonly Func<DirectiveTriviaSyntax, bool> s_isNullableDirectiveTriviaPredicate = 120var firstDirective = root.GetFirstDirective(s_isNullableDirectiveTriviaPredicate); 129for (var directive = firstDirective; directive is not null; directive = directive.GetNextDirective(s_isNullableDirectiveTriviaPredicate)) 243var firstRelevantDirective = root.GetFirstDirective(static directive => directive.Kind() is SyntaxKind.NullableDirectiveTrivia or SyntaxKind.IfDirectiveTrivia);
Completion\CompletionProviders\SnippetCompletionProvider.cs (2)
123var directive = leftToken.GetAncestor<DirectiveTriviaSyntax>();
ConvertToRawString\ConvertToRawStringHelpers.cs (1)
67if (node is DirectiveTriviaSyntax)
Highlighting\KeywordHighlighters\ConditionalPreprocessorHighlighter.cs (3)
20internal sealed class ConditionalPreprocessorHighlighter() : AbstractKeywordHighlighter<DirectiveTriviaSyntax> 23DirectiveTriviaSyntax directive, List<TextSpan> highlights, CancellationToken cancellationToken) 26foreach (var conditional in conditionals)
Highlighting\KeywordHighlighters\RegionHighlighter.cs (3)
20internal sealed class RegionHighlighter : AbstractKeywordHighlighter<DirectiveTriviaSyntax> 29DirectiveTriviaSyntax directive, List<TextSpan> highlights, CancellationToken cancellationToken) 31var matchingDirective = directive.GetMatchingDirective(cancellationToken);
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (1)
32DirectiveTriviaSyntax,
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (2)
132if (token.Parent is DirectiveTriviaSyntax directiveTrivia) 136var regionStart = directiveTrivia.GetMatchingDirective(cancellationToken);
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (2)
105for (var directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective()) 188for (var directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
Structure\Providers\ArrowExpressionClauseStructureProvider.cs (3)
46var directive = (DirectiveTriviaSyntax)trivia.GetStructure()!; 58var lastDirective = matchingDirectives.Last();
Structure\Providers\IfDirectiveTriviaStructureProvider.cs (2)
31var directive = allRelatedDirectives[i]; 39var nextDirective = allRelatedDirectives[i + 1];
Structure\Providers\RegionDirectiveStructureProvider.cs (2)
16private static string GetBannerText(DirectiveTriviaSyntax simpleDirective) 39var match = regionDirective.GetMatchingDirective(cancellationToken);
Microsoft.CodeAnalysis.CSharp.Workspaces (38)
Classification\Worker_Preprocesser.cs (2)
14private void ClassifyPreprocessorDirective(DirectiveTriviaSyntax node) 83private void ClassifyDirectiveTrivia(DirectiveTriviaSyntax node, bool allowComments = true)
Classification\Worker.cs (1)
253ClassifyPreprocessorDirective((DirectiveTriviaSyntax)trivia.GetStructure()!);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117if (node is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25private static readonly Matcher<DirectiveTriviaSyntax> s_conditionalDirectivesMatches = 26Matcher<DirectiveTriviaSyntax>.Sequence( 27Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)), 28Matcher<DirectiveTriviaSyntax>.Repeat( 29Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))), 30Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)), 31Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax))); 81var firstDirective = (DirectiveTriviaSyntax)leadingDirectives.First().GetStructure()!; 105foreach (var conditionalDirective in conditionalDirectives) 127if (!conditionalDirectives.Contains((DirectiveTriviaSyntax)closeBraceDirective.GetStructure()!))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18var directive = token.GetAncestor<DirectiveTriviaSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken) 34=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<DirectiveTriviaSyntax>( 37public static DirectiveTriviaSyntax? GetMatchingDirective(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 43if (directiveSyntaxMap.TryGetValue(directive, out var result)) 50public static ImmutableArray<DirectiveTriviaSyntax> GetMatchingConditionalDirectives(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 62private static bool IsRegionDirective(DirectiveTriviaSyntax directive) 65private static bool IsConditionalDirective(DirectiveTriviaSyntax directive)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301if (nodeParent is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
545var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 559var directives = ((DirectiveTriviaSyntax)structure).GetMatchingConditionalDirectives(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138var matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321var endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword)); 332private static bool IsFormatDirective(DirectiveTriviaSyntax? trivia, SyntaxKind disableOrRestoreKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
143=> node is DirectiveTriviaSyntax; 1284=> ((DirectiveTriviaSyntax)directive).GetMatchingDirective(cancellationToken); 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>();
Microsoft.CodeAnalysis.Razor.Compiler (2)
Language\Legacy\RoslynCSharpTokenizer.cs (2)
549var directiveTrivia = (DirectiveTriviaSyntax)trivia.GetStructure()!;
Roslyn.Diagnostics.CSharp.Analyzers (35)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117if (node is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25private static readonly Matcher<DirectiveTriviaSyntax> s_conditionalDirectivesMatches = 26Matcher<DirectiveTriviaSyntax>.Sequence( 27Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)), 28Matcher<DirectiveTriviaSyntax>.Repeat( 29Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))), 30Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)), 31Matcher<DirectiveTriviaSyntax>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax))); 81var firstDirective = (DirectiveTriviaSyntax)leadingDirectives.First().GetStructure()!; 105foreach (var conditionalDirective in conditionalDirectives) 127if (!conditionalDirectives.Contains((DirectiveTriviaSyntax)closeBraceDirective.GetStructure()!))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18var directive = token.GetAncestor<DirectiveTriviaSyntax>();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<DirectiveTriviaSyntax>> s_rootToDirectiveInfo = new(); 28private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken) 33private static DirectiveInfo<DirectiveTriviaSyntax> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken) 34=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<DirectiveTriviaSyntax>( 37public static DirectiveTriviaSyntax? GetMatchingDirective(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 43if (directiveSyntaxMap.TryGetValue(directive, out var result)) 50public static ImmutableArray<DirectiveTriviaSyntax> GetMatchingConditionalDirectives(this DirectiveTriviaSyntax directive, CancellationToken cancellationToken) 62private static bool IsRegionDirective(DirectiveTriviaSyntax directive) 65private static bool IsConditionalDirective(DirectiveTriviaSyntax directive)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301if (nodeParent is DirectiveTriviaSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
545var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 559var directives = ((DirectiveTriviaSyntax)structure).GetMatchingConditionalDirectives(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138var matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321var endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword)); 332private static bool IsFormatDirective(DirectiveTriviaSyntax? trivia, SyntaxKind disableOrRestoreKeyword)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
143=> node is DirectiveTriviaSyntax; 1284=> ((DirectiveTriviaSyntax)directive).GetMatchingDirective(cancellationToken); 1287=> ((DirectiveTriviaSyntax)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>();