17 types derived from DirectiveTriviaSyntax
Microsoft.CodeAnalysis.CSharp (17)
Syntax.xml.Syntax.Generated.cs (17)
15550
public abstract partial class BranchingDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15755
public sealed partial class EndIfDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15804
public sealed partial class RegionDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15853
public sealed partial class EndRegionDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15902
public sealed partial class ErrorDirectiveTriviaSyntax :
DirectiveTriviaSyntax
15951
public sealed partial class WarningDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16000
public sealed partial class BadDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16049
public sealed partial class DefineDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16101
public sealed partial class UndefDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16147
public abstract partial class LineOrSpanDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16373
public sealed partial class PragmaWarningDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16441
public sealed partial class PragmaChecksumDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16502
public sealed partial class ReferenceDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16554
public sealed partial class LoadDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16606
public sealed partial class ShebangDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16655
public sealed partial class IgnoredDirectiveTriviaSyntax :
DirectiveTriviaSyntax
16714
public sealed partial class NullableDirectiveTriviaSyntax :
DirectiveTriviaSyntax
249 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)
3902
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)
15540
public
DirectiveTriviaSyntax
WithHashToken(SyntaxToken hashToken) => WithHashTokenCore(hashToken);
15541
internal abstract
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken);
15544
public
DirectiveTriviaSyntax
WithEndOfDirectiveToken(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveTokenCore(endOfDirectiveToken);
15545
internal abstract
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken);
15625
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15630
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15685
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15690
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15740
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15743
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15790
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15793
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15839
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15842
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15888
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15891
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15937
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15940
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
15986
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
15989
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16035
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16038
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16086
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16090
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16138
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16142
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16218
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16225
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16352
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16362
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16422
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16428
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16484
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16491
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16539
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16543
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16591
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16595
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16641
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16644
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16699
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16703
internal override
DirectiveTriviaSyntax
WithEndOfDirectiveTokenCore(SyntaxToken endOfDirectiveToken) => WithEndOfDirectiveToken(endOfDirectiveToken);
16760
internal override
DirectiveTriviaSyntax
WithHashTokenCore(SyntaxToken hashToken) => WithHashToken(hashToken);
16765
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 (29)
src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (2)
106
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
189
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 (4)
68
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
83
foreach (
var
conditionalDirective in conditionalDirectives)
105
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)
295
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\Rules\SuppressFormattingRule.cs (2)
329
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
340
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
139
=> node is
DirectiveTriviaSyntax
;
1306
=> ((
DirectiveTriviaSyntax
)directive).GetMatchingDirective(cancellationToken);
1309
=> ((
DirectiveTriviaSyntax
)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>();
Microsoft.CodeAnalysis.CSharp.Features (30)
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)
127
var
directive = leftToken.GetAncestor<
DirectiveTriviaSyntax
>();
ConvertToRawString\ConvertToRawStringHelpers.cs (1)
69
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);
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)
106
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
189
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)
10246
private void TestShebang(
DirectiveTriviaSyntax
directive, string expectedSkippedText)
Syntax\SyntaxNodeTests.cs (22)
337
var descendantDirectives = expr.DescendantNodesAndSelf(n => n.ContainsDirectives, descendIntoTrivia: true).OfType<
DirectiveTriviaSyntax
>().ToList();
1401
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1413
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1430
var
d1 = tree.GetCompilationUnitRoot().GetFirstDirective();
1433
var
d2 = d1.GetNextDirective();
1436
var
d3 = d2.GetNextDirective();
1439
var
d4 = d3.GetNextDirective();
1442
var
d5 = d4.GetNextDirective();
1458
var
d1 = tree.GetCompilationUnitRoot().GetLastDirective();
1461
var
d2 = d1.GetPreviousDirective();
1464
var
d3 = d2.GetPreviousDirective();
1467
var
d4 = d3.GetPreviousDirective();
1470
var
d5 = d4.GetPreviousDirective();
1517
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1548
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1587
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1618
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1652
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1686
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1716
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1739
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1760
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
Microsoft.CodeAnalysis.CSharp.Workspaces (30)
Classification\Worker.cs (1)
255
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 (4)
68
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
83
foreach (
var
conditionalDirective in conditionalDirectives)
105
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)
295
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\Rules\SuppressFormattingRule.cs (2)
329
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
340
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
139
=> node is
DirectiveTriviaSyntax
;
1306
=> ((
DirectiveTriviaSyntax
)directive).GetMatchingDirective(cancellationToken);
1309
=> ((
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 (27)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (1)
117
if (node is
DirectiveTriviaSyntax
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (4)
68
var
firstDirective = (
DirectiveTriviaSyntax
)leadingDirectives.First().GetStructure()!;
83
foreach (
var
conditionalDirective in conditionalDirectives)
105
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)
295
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\Rules\SuppressFormattingRule.cs (2)
329
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
340
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (3)
139
=> node is
DirectiveTriviaSyntax
;
1306
=> ((
DirectiveTriviaSyntax
)directive).GetMatchingDirective(cancellationToken);
1309
=> ((
DirectiveTriviaSyntax
)directive).GetMatchingConditionalDirectives(cancellationToken).CastArray<SyntaxNode>();