17 types derived from DirectiveTriviaSyntax
Microsoft.CodeAnalysis.CSharp (17)
_generated\2\Syntax.xml.Syntax.Generated.cs (17)
15601public abstract partial class BranchingDirectiveTriviaSyntax : DirectiveTriviaSyntax 15806public sealed partial class EndIfDirectiveTriviaSyntax : DirectiveTriviaSyntax 15855public sealed partial class RegionDirectiveTriviaSyntax : DirectiveTriviaSyntax 15904public sealed partial class EndRegionDirectiveTriviaSyntax : DirectiveTriviaSyntax 15953public sealed partial class ErrorDirectiveTriviaSyntax : DirectiveTriviaSyntax 16002public sealed partial class WarningDirectiveTriviaSyntax : DirectiveTriviaSyntax 16051public sealed partial class BadDirectiveTriviaSyntax : DirectiveTriviaSyntax 16100public sealed partial class DefineDirectiveTriviaSyntax : DirectiveTriviaSyntax 16152public sealed partial class UndefDirectiveTriviaSyntax : DirectiveTriviaSyntax 16198public abstract partial class LineOrSpanDirectiveTriviaSyntax : DirectiveTriviaSyntax 16424public sealed partial class PragmaWarningDirectiveTriviaSyntax : DirectiveTriviaSyntax 16492public sealed partial class PragmaChecksumDirectiveTriviaSyntax : DirectiveTriviaSyntax 16553public sealed partial class ReferenceDirectiveTriviaSyntax : DirectiveTriviaSyntax 16605public sealed partial class LoadDirectiveTriviaSyntax : DirectiveTriviaSyntax 16657public sealed partial class ShebangDirectiveTriviaSyntax : DirectiveTriviaSyntax 16706public sealed partial class IgnoredDirectiveTriviaSyntax : DirectiveTriviaSyntax 16765public 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)
15591public DirectiveTriviaSyntax WithHashToken(SyntaxToken hashToken) => WithHashTokenCore(hashToken); 15592internal abstract DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken); 15595public DirectiveTriviaSyntax WithEndOfDirectiveToken(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveTokenCore(endOfDirectiveToken); 15596internal abstract DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken); 15676internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15681internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15736internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15741internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15791internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15794internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15841internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15844internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15890internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15893internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15939internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15942internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 15988internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 15991internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16037internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16040internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16086internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16089internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16137internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16141internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16189internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16193internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16269internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16276internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16403internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16413internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16473internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16479internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16535internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16542internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16590internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16594internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16642internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16646internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16692internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16695internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16750internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16754internal override DirectiveTriviaSyntax WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken); 16811internal override DirectiveTriviaSyntax WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken); 16816internal 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)
558var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 572var 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.cs (1)
253ClassifyPreprocessorDirective((DirectiveTriviaSyntax)trivia.GetStructure()!);
Classification\Worker_Preprocesser.cs (2)
14private void ClassifyPreprocessorDirective(DirectiveTriviaSyntax node) 83private void ClassifyDirectiveTrivia(DirectiveTriviaSyntax node, bool allowComments = true)
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)
558var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 572var 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)
558var match = ((DirectiveTriviaSyntax)structure).GetMatchingDirective(cancellationToken); 572var 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>();