17 types derived from DirectiveTriviaSyntax
Microsoft.CodeAnalysis.CSharp (17)
Syntax.xml.Syntax.Generated.cs (17)
15598
public abstract partial class BranchingDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15803
public sealed partial class EndIfDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15852
public sealed partial class RegionDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15901
public sealed partial class EndRegionDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15950
public sealed partial class ErrorDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15999
public sealed partial class WarningDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16048
public sealed partial class BadDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16097
public sealed partial class DefineDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16149
public sealed partial class UndefDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16195
public abstract partial class LineOrSpanDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16421
public sealed partial class PragmaWarningDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16489
public sealed partial class PragmaChecksumDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16550
public sealed partial class ReferenceDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16602
public sealed partial class LoadDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16654
public sealed partial class ShebangDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16703
public sealed partial class IgnoredDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16762
public sealed partial class NullableDirectiveTriviaSyntax :
DirectiveTriviaSyntax
274 references to DirectiveTriviaSyntax
Microsoft.AspNetCore.App.Analyzers (1)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (1)
118
if (node is
DirectiveTriviaSyntax
)
Microsoft.CodeAnalysis.CSharp (100)
Compilation\CSharpCompilation.cs (1)
3929
foreach (
var
directive in checksumDirectives)
CSharpExtensions.cs (6)
372
internal static IList<
DirectiveTriviaSyntax
> GetDirectives(this SyntaxNode node, Func<
DirectiveTriviaSyntax
, bool>? filter = null)
380
public static
DirectiveTriviaSyntax
? GetFirstDirective(this SyntaxNode node, Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
388
public static
DirectiveTriviaSyntax
? GetLastDirective(this SyntaxNode node, Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
Syntax.xml.Syntax.Generated.cs (44)
15588
public
DirectiveTriviaSyntax
WithHashToken(SyntaxToken hashToken) => WithHashTokenCore(hashToken);
15589
internal abstract
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken);
15592
public
DirectiveTriviaSyntax
WithEndOfDirectiveToken(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveTokenCore(endOfDirectiveToken);
15593
internal abstract
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken);
15673
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15678
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15733
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15738
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15788
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15791
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15838
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15841
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15887
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15890
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15936
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15939
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15985
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15988
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16034
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16037
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16083
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16086
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16134
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16138
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16186
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16190
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16266
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16273
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16400
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16410
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16470
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16476
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16532
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16539
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16587
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16591
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16639
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16643
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16689
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16692
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16747
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16751
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16808
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16813
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
Syntax\CSharpLineDirectiveMap.cs (3)
14
internal class CSharpLineDirectiveMap : LineDirectiveMap<
DirectiveTriviaSyntax
>
22
protected override bool ShouldAddDirective(
DirectiveTriviaSyntax
directive)
28
protected override LineMappingEntry GetEntry(
DirectiveTriviaSyntax
directiveNode, SourceText sourceText, LineMappingEntry previous)
Syntax\CSharpPragmaWarningStateMap.cs (5)
47
var directives = ArrayBuilder<
DirectiveTriviaSyntax
>.GetInstance();
58
private static void GetAllPragmaWarningDirectives(SyntaxTree syntaxTree, ArrayBuilder<
DirectiveTriviaSyntax
> directiveList)
60
foreach (
var
d in syntaxTree.GetRoot().GetDirectives())
80
private static WarningStateMapEntry[] CreatePragmaWarningStateEntries(ArrayBuilder<
DirectiveTriviaSyntax
> directiveList)
96
var
currentDirective = directiveList[index];
Syntax\CSharpSyntaxNode.cs (13)
220
internal IList<
DirectiveTriviaSyntax
> GetDirectives(Func<
DirectiveTriviaSyntax
, bool>? filter = null)
222
return ((SyntaxNodeOrToken)this).GetDirectives<
DirectiveTriviaSyntax
>(filter);
228
public
DirectiveTriviaSyntax
? GetFirstDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
236
var
d = node.GetFirstDirective(predicate);
251
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
268
public
DirectiveTriviaSyntax
? GetLastDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
276
var
d = node.GetLastDirective(predicate);
291
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
Syntax\CSharpSyntaxTree.cs (1)
235
foreach (
DirectiveTriviaSyntax
directive in this.GetRoot().GetDirectives(d =>
Syntax\DirectiveTriviaSyntax.cs (21)
69
public
DirectiveTriviaSyntax
? GetNextDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
79
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
100
public
DirectiveTriviaSyntax
? GetPreviousDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
110
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
131
public List<
DirectiveTriviaSyntax
> GetRelatedDirectives()
133
var list = new List<
DirectiveTriviaSyntax
>();
138
private void GetRelatedDirectives(List<
DirectiveTriviaSyntax
> list)
141
var
p = this.GetPreviousRelatedDirective();
150
var
n = this.GetNextRelatedDirective();
158
private
DirectiveTriviaSyntax
? GetNextRelatedDirective()
160
DirectiveTriviaSyntax
? d = this;
224
private
DirectiveTriviaSyntax
? GetNextPossiblyRelatedDirective()
226
DirectiveTriviaSyntax
? d = this;
258
private
DirectiveTriviaSyntax
? GetPreviousRelatedDirective()
260
DirectiveTriviaSyntax
? d = this;
325
private
DirectiveTriviaSyntax
? GetPreviousPossiblyRelatedDirective()
327
DirectiveTriviaSyntax
? d = this;
Syntax\NullableContextStateMap.cs (1)
141
foreach (
var
d in tree.GetRoot().GetDirectives())
Syntax\SyntaxNodeRemover.cs (5)
145
if (trivia.IsDirective && trivia.GetStructure() is
DirectiveTriviaSyntax
directive)
436
.Select(tr => (
DirectiveTriviaSyntax
)tr.GetStructure()!);
438
foreach (
var
directive in directivesInSpan)
459
foreach (
var
unbalancedDirective in relatedDirectives.Where(rd => rd.FullSpan.OverlapsWith(span)))
496
private static bool HasRelatedDirectives(
DirectiveTriviaSyntax
directive)
Microsoft.CodeAnalysis.CSharp.CodeStyle (37)
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (2)
105
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
188
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117
if (node is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25
private static readonly Matcher<
DirectiveTriviaSyntax
> s_conditionalDirectivesMatches =
26
Matcher<
DirectiveTriviaSyntax
>.Sequence(
27
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)),
28
Matcher<
DirectiveTriviaSyntax
>.Repeat(
29
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))),
30
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)),
31
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax)));
81
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
105
foreach (
var
conditionalDirective in conditionalDirectives)
127
if (!conditionalDirectives.Contains((
DirectiveTriviaSyntax
)closeBraceDirective.GetStructure()!))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16
private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<
DirectiveTriviaSyntax
>> s_rootToDirectiveInfo = new();
28
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken)
33
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
34
=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<
DirectiveTriviaSyntax
>(
37
public static
DirectiveTriviaSyntax
? GetMatchingDirective(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
43
if (directiveSyntaxMap.TryGetValue(directive, out
var
result))
50
public static ImmutableArray<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
62
private static bool IsRegionDirective(
DirectiveTriviaSyntax
directive)
65
private static bool IsConditionalDirective(
DirectiveTriviaSyntax
directive)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301
if (nodeParent is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
558
var
match = ((
DirectiveTriviaSyntax
)structure).GetMatchingDirective(cancellationToken);
572
var directives = ((
DirectiveTriviaSyntax
)structure).GetMatchingConditionalDirectives(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138
var
matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
332
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
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)
18
internal sealed class CSharpDirectiveTriviaBraceMatcher : AbstractDirectiveTriviaBraceMatcher<
DirectiveTriviaSyntax
,
29
protected override ImmutableArray<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
32
protected override
DirectiveTriviaSyntax
? GetMatchingDirective(
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
35
internal override TextSpan GetSpanForTagging(
DirectiveTriviaSyntax
directive)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (4)
26
private static readonly Func<
DirectiveTriviaSyntax
, bool> s_isNullableDirectiveTriviaPredicate =
120
var
firstDirective = root.GetFirstDirective(s_isNullableDirectiveTriviaPredicate);
129
for (
var
directive = firstDirective; directive is not null; directive = directive.GetNextDirective(s_isNullableDirectiveTriviaPredicate))
243
var
firstRelevantDirective = root.GetFirstDirective(static directive => directive.Kind() is SyntaxKind.NullableDirectiveTrivia or SyntaxKind.IfDirectiveTrivia);
Completion\CompletionProviders\SnippetCompletionProvider.cs (2)
122
var
directive = leftToken.GetAncestor<
DirectiveTriviaSyntax
>();
ConvertToRawString\ConvertToRawStringHelpers.cs (1)
67
if (node is
DirectiveTriviaSyntax
)
Highlighting\KeywordHighlighters\ConditionalPreprocessorHighlighter.cs (3)
20
internal sealed class ConditionalPreprocessorHighlighter() : AbstractKeywordHighlighter<
DirectiveTriviaSyntax
>
23
DirectiveTriviaSyntax
directive, List<TextSpan> highlights, CancellationToken cancellationToken)
26
foreach (
var
conditional in conditionals)
Highlighting\KeywordHighlighters\RegionHighlighter.cs (3)
20
internal sealed class RegionHighlighter : AbstractKeywordHighlighter<
DirectiveTriviaSyntax
>
29
DirectiveTriviaSyntax
directive, List<TextSpan> highlights, CancellationToken cancellationToken)
31
var
matchingDirective = directive.GetMatchingDirective(cancellationToken);
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (1)
32
DirectiveTriviaSyntax
,
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (2)
137
if (token.Parent is
DirectiveTriviaSyntax
directiveTrivia)
141
var
regionStart = directiveTrivia.GetMatchingDirective(cancellationToken);
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (2)
105
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
188
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
Structure\Providers\ArrowExpressionClauseStructureProvider.cs (3)
46
var
directive = (
DirectiveTriviaSyntax
)trivia.GetStructure()!;
58
var
lastDirective = matchingDirectives.Last();
Structure\Providers\IfDirectiveTriviaStructureProvider.cs (2)
31
var
directive = allRelatedDirectives[i];
39
var
nextDirective = allRelatedDirectives[i + 1];
Structure\Providers\RegionDirectiveStructureProvider.cs (2)
16
private static string GetBannerText(
DirectiveTriviaSyntax
simpleDirective)
39
var
match = regionDirective.GetMatchingDirective(cancellationToken);
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (30)
Diagnostics\LineSpanDirectiveTests.cs (2)
463
var directives = tree.GetRoot().DescendantNodesAndSelf(descendIntoTrivia: true).OfType<
DirectiveTriviaSyntax
>();
464
foreach (
var
directive in directives)
LexicalAndXml\PreprocessorTests.cs (5)
130
foreach (
var
dt in directives)
149
foreach (
var
dt in directives)
160
var
dt = directives[idx++];
297
var
dt = directives[0];
301
private void VerifyDirectivePragma(
DirectiveTriviaSyntax
dt, PragmaInfo expected)
Parsing\ScriptParsingTests.cs (1)
10306
private void TestShebang(
DirectiveTriviaSyntax
directive, string expectedSkippedText)
Syntax\SyntaxNodeTests.cs (22)
411
var descendantDirectives = expr.DescendantNodesAndSelf(n => n.ContainsDirectives, descendIntoTrivia: true).OfType<
DirectiveTriviaSyntax
>().ToList();
1475
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1487
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1504
var
d1 = tree.GetCompilationUnitRoot().GetFirstDirective();
1507
var
d2 = d1.GetNextDirective();
1510
var
d3 = d2.GetNextDirective();
1513
var
d4 = d3.GetNextDirective();
1516
var
d5 = d4.GetNextDirective();
1532
var
d1 = tree.GetCompilationUnitRoot().GetLastDirective();
1535
var
d2 = d1.GetPreviousDirective();
1538
var
d3 = d2.GetPreviousDirective();
1541
var
d4 = d3.GetPreviousDirective();
1544
var
d5 = d4.GetPreviousDirective();
1591
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1622
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1661
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1692
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1726
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1760
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1790
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1813
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1834
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
Microsoft.CodeAnalysis.CSharp.Workspaces (38)
Classification\Worker.cs (1)
253
ClassifyPreprocessorDirective((
DirectiveTriviaSyntax
)trivia.GetStructure()!);
Classification\Worker_Preprocesser.cs (2)
13
private void ClassifyPreprocessorDirective(
DirectiveTriviaSyntax
node)
82
private void ClassifyDirectiveTrivia(
DirectiveTriviaSyntax
node, bool allowComments = true)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117
if (node is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25
private static readonly Matcher<
DirectiveTriviaSyntax
> s_conditionalDirectivesMatches =
26
Matcher<
DirectiveTriviaSyntax
>.Sequence(
27
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)),
28
Matcher<
DirectiveTriviaSyntax
>.Repeat(
29
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))),
30
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)),
31
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax)));
81
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
105
foreach (
var
conditionalDirective in conditionalDirectives)
127
if (!conditionalDirectives.Contains((
DirectiveTriviaSyntax
)closeBraceDirective.GetStructure()!))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16
private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<
DirectiveTriviaSyntax
>> s_rootToDirectiveInfo = new();
28
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken)
33
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
34
=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<
DirectiveTriviaSyntax
>(
37
public static
DirectiveTriviaSyntax
? GetMatchingDirective(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
43
if (directiveSyntaxMap.TryGetValue(directive, out
var
result))
50
public static ImmutableArray<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
62
private static bool IsRegionDirective(
DirectiveTriviaSyntax
directive)
65
private static bool IsConditionalDirective(
DirectiveTriviaSyntax
directive)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301
if (nodeParent is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
558
var
match = ((
DirectiveTriviaSyntax
)structure).GetMatchingDirective(cancellationToken);
572
var directives = ((
DirectiveTriviaSyntax
)structure).GetMatchingConditionalDirectives(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138
var
matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
332
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
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.VisualStudio.LanguageServices.CSharp (2)
LanguageService\CSharpHelpContextService.cs (2)
346
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
Roslyn.Diagnostics.CSharp.Analyzers (35)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117
if (node is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (11)
25
private static readonly Matcher<
DirectiveTriviaSyntax
> s_conditionalDirectivesMatches =
26
Matcher<
DirectiveTriviaSyntax
>.Sequence(
27
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.IfDirectiveTrivia), nameof(IfDirectiveTriviaSyntax)),
28
Matcher<
DirectiveTriviaSyntax
>.Repeat(
29
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElifDirectiveTrivia), nameof(ElifDirectiveTriviaSyntax))),
30
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.ElseDirectiveTrivia), nameof(ElseDirectiveTriviaSyntax)),
31
Matcher<
DirectiveTriviaSyntax
>.Single(d => d.IsKind(SyntaxKind.EndIfDirectiveTrivia), nameof(EndIfDirectiveTriviaSyntax)));
81
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
105
foreach (
var
conditionalDirective in conditionalDirectives)
127
if (!conditionalDirectives.Contains((
DirectiveTriviaSyntax
)closeBraceDirective.GetStructure()!))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
18
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\DirectiveSyntaxExtensions.cs (11)
16
private static readonly ConditionalWeakTable<SyntaxNode, DirectiveInfo<
DirectiveTriviaSyntax
>> s_rootToDirectiveInfo = new();
28
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfo(SyntaxNode node, CancellationToken cancellationToken)
33
private static DirectiveInfo<
DirectiveTriviaSyntax
> GetDirectiveInfoForRoot(SyntaxNode root, CancellationToken cancellationToken)
34
=> CodeAnalysis.Shared.Extensions.SyntaxNodeExtensions.GetDirectiveInfoForRoot<
DirectiveTriviaSyntax
>(
37
public static
DirectiveTriviaSyntax
? GetMatchingDirective(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
43
if (directiveSyntaxMap.TryGetValue(directive, out
var
result))
50
public static ImmutableArray<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
62
private static bool IsRegionDirective(
DirectiveTriviaSyntax
directive)
65
private static bool IsConditionalDirective(
DirectiveTriviaSyntax
directive)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
301
if (nodeParent is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
558
var
match = ((
DirectiveTriviaSyntax
)structure).GetMatchingDirective(cancellationToken);
572
var directives = ((
DirectiveTriviaSyntax
)structure).GetMatchingConditionalDirectives(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\CSharpTriviaFormatter.cs (1)
138
var
matchingRegion = endRegionDirective.GetMatchingDirective(cancellationToken);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SuppressFormattingRule.cs (2)
321
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
332
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
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>();