242 references to DirectiveTriviaSyntax
Microsoft.CodeAnalysis.CSharp (56)
Compilation\CSharpCompilation.cs (1)
3498
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\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)
240
internal IList<
DirectiveTriviaSyntax
> GetDirectives(Func<
DirectiveTriviaSyntax
, bool>? filter = null)
242
return ((SyntaxNodeOrToken)this).GetDirectives<
DirectiveTriviaSyntax
>(filter);
248
public
DirectiveTriviaSyntax
? GetFirstDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
256
var
d = node.GetFirstDirective(predicate);
271
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
288
public
DirectiveTriviaSyntax
? GetLastDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
296
var
d = node.GetLastDirective(predicate);
311
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
Syntax\CSharpSyntaxTree.cs (1)
236
foreach (
DirectiveTriviaSyntax
directive in this.GetRoot().GetDirectives(d =>
Syntax\DirectiveTriviaSyntax.cs (21)
67
public
DirectiveTriviaSyntax
? GetNextDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
77
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
98
public
DirectiveTriviaSyntax
? GetPreviousDirective(Func<
DirectiveTriviaSyntax
, bool>? predicate = null)
108
var
d = (
DirectiveTriviaSyntax
)tr.GetStructure()!;
129
public List<
DirectiveTriviaSyntax
> GetRelatedDirectives()
131
var list = new List<
DirectiveTriviaSyntax
>();
136
private void GetRelatedDirectives(List<
DirectiveTriviaSyntax
> list)
139
var
p = this.GetPreviousRelatedDirective();
148
var
n = this.GetNextRelatedDirective();
156
private
DirectiveTriviaSyntax
? GetNextRelatedDirective()
158
DirectiveTriviaSyntax
? d = this;
222
private
DirectiveTriviaSyntax
? GetNextPossiblyRelatedDirective()
224
DirectiveTriviaSyntax
? d = this;
256
private
DirectiveTriviaSyntax
? GetPreviousRelatedDirective()
258
DirectiveTriviaSyntax
? d = this;
323
private
DirectiveTriviaSyntax
? GetPreviousPossiblyRelatedDirective()
325
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)))
474
private static bool HasRelatedDirectives(
DirectiveTriviaSyntax
directive)
Microsoft.CodeAnalysis.CSharp.CodeStyle (64)
CSharpRemoveRedundantNullableDirectiveDiagnosticAnalyzer.cs (1)
55
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (4)
108
DirectiveTriviaSyntax
? previousRetainedDirective = null;
111
DirectiveTriviaSyntax
? currentOptionsDirective = null;
114
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
197
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
CSharpSyntaxFacts.cs (1)
132
=> node is
DirectiveTriviaSyntax
;
CSharpVirtualCharService.cs (1)
116
if (node is
DirectiveTriviaSyntax
)
DirectiveSyntaxExtensions.cs (9)
42
var directiveMap = new Dictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
>(
44
var conditionalMap = new Dictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>>(
57
internal static
DirectiveTriviaSyntax
GetMatchingDirective(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
65
directiveSyntaxMap.TryGetValue(directive, out
var
result);
70
internal static IReadOnlyList<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
DirectiveSyntaxExtensions.DirectiveInfo.cs (8)
18
public IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> DirectiveMap { get; }
21
public IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> ConditionalMap { get; }
31
IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> directiveMap,
32
IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> conditionalMap,
DirectiveSyntaxExtensions.DirectiveSyntaxEqualityComparer.cs (4)
14
private class DirectiveSyntaxEqualityComparer : IEqualityComparer<
DirectiveTriviaSyntax
>
22
public bool Equals(
DirectiveTriviaSyntax
x,
DirectiveTriviaSyntax
y)
25
public int GetHashCode(
DirectiveTriviaSyntax
obj)
DirectiveSyntaxExtensions.DirectiveWalker.cs (28)
20
private readonly IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> _directiveMap;
21
private readonly IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> _conditionalMap;
24
private readonly Stack<
DirectiveTriviaSyntax
> _regionStack = new();
25
private readonly Stack<
DirectiveTriviaSyntax
> _ifStack = new();
28
IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> directiveMap,
29
IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> conditionalMap,
62
HandleRegionDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
65
HandleIfDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
68
HandleEndRegionDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
71
HandleEndIfDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
74
HandleElifDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
77
HandleElseDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
83
private void HandleIfDirective(
DirectiveTriviaSyntax
directive)
86
private void HandleRegionDirective(
DirectiveTriviaSyntax
directive)
89
private void HandleElifDirective(
DirectiveTriviaSyntax
directive)
92
private void HandleElseDirective(
DirectiveTriviaSyntax
directive)
95
private void HandleEndIfDirective(
DirectiveTriviaSyntax
directive)
105
private void FinishIf(
DirectiveTriviaSyntax
directiveOpt)
107
var condDirectives = new List<
DirectiveTriviaSyntax
>();
115
var
poppedDirective = _ifStack.Pop();
125
foreach (
var
cond in condDirectives)
131
var
ifDirective = condDirectives.First();
144
private void HandleEndRegionDirective(
DirectiveTriviaSyntax
directive)
151
var
previousDirective = _regionStack.Pop();
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (2)
23
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
ParenthesizedExpressionSyntaxExtensions.cs (1)
261
if (nodeParent is
DirectiveTriviaSyntax
)
SuppressFormattingRule.cs (2)
329
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
340
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)
SyntaxNodeExtensions.cs (3)
637
var
match = ((
DirectiveTriviaSyntax
)structure).GetMatchingDirective(cancellationToken);
651
var directives = ((
DirectiveTriviaSyntax
)structure).GetMatchingConditionalDirectives(cancellationToken);
Microsoft.CodeAnalysis.CSharp.Features (30)
BraceMatching\CSharpDirectiveTriviaBraceMatcher.cs (6)
19
internal class CSharpDirectiveTriviaBraceMatcher : AbstractDirectiveTriviaBraceMatcher<
DirectiveTriviaSyntax
,
30
internal override List<
DirectiveTriviaSyntax
>? GetMatchingConditionalDirectives(
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
33
internal override
DirectiveTriviaSyntax
GetMatchingDirective(
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
36
internal override TextSpan GetSpanForTagging(
DirectiveTriviaSyntax
directive)
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (4)
25
private static readonly Func<
DirectiveTriviaSyntax
, bool> s_isNullableDirectiveTriviaPredicate =
112
var
firstDirective = root.GetFirstDirective(s_isNullableDirectiveTriviaPredicate);
121
for (
var
directive = firstDirective; directive is not null; directive = directive.GetNextDirective(s_isNullableDirectiveTriviaPredicate))
235
var
firstRelevantDirective = root.GetFirstDirective(static directive => directive.Kind() is SyntaxKind.NullableDirectiveTrivia or SyntaxKind.IfDirectiveTrivia);
Completion\CompletionProviders\SnippetCompletionProvider.cs (2)
109
var
directive = leftToken.GetAncestor<
DirectiveTriviaSyntax
>();
ConvertToRawString\ConvertToRawStringHelpers.cs (1)
71
if (node is
DirectiveTriviaSyntax
)
CSharpRemoveRedundantNullableDirectiveDiagnosticAnalyzer.cs (1)
55
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (4)
108
DirectiveTriviaSyntax
? previousRetainedDirective = null;
111
DirectiveTriviaSyntax
? currentOptionsDirective = null;
114
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
197
for (
var
directive = root.GetFirstDirective(); directive is not null; directive = directive.GetNextDirective())
Highlighting\KeywordHighlighters\ConditionalPreprocessorHighlighter.cs (3)
20
internal class ConditionalPreprocessorHighlighter : AbstractKeywordHighlighter<
DirectiveTriviaSyntax
>
29
DirectiveTriviaSyntax
directive, List<TextSpan> highlights, CancellationToken cancellationToken)
37
foreach (
var
conditional in conditionals)
Highlighting\KeywordHighlighters\RegionHighlighter.cs (3)
20
internal class RegionHighlighter : AbstractKeywordHighlighter<
DirectiveTriviaSyntax
>
29
DirectiveTriviaSyntax
directive, List<TextSpan> highlights, CancellationToken cancellationToken)
31
var
matchingDirective = directive.GetMatchingDirective(cancellationToken);
QuickInfo\CSharpSyntacticQuickInfoProvider.cs (2)
146
if (token.Parent is
DirectiveTriviaSyntax
directiveTrivia)
150
var
regionStart = directiveTrivia.GetMatchingDirective(cancellationToken);
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)
466
var directives = tree.GetRoot().DescendantNodesAndSelf(descendIntoTrivia: true).OfType<
DirectiveTriviaSyntax
>();
467
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)
9735
private void TestShebang(
DirectiveTriviaSyntax
directive, string expectedSkippedText)
Syntax\SyntaxNodeTests.cs (22)
337
var descendantDirectives = expr.DescendantNodesAndSelf(n => n.ContainsDirectives, descendIntoTrivia: true).OfType<
DirectiveTriviaSyntax
>().ToList();
1376
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1388
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1405
var
d1 = tree.GetCompilationUnitRoot().GetFirstDirective();
1408
var
d2 = d1.GetNextDirective();
1411
var
d3 = d2.GetNextDirective();
1414
var
d4 = d3.GetNextDirective();
1417
var
d5 = d4.GetNextDirective();
1433
var
d1 = tree.GetCompilationUnitRoot().GetLastDirective();
1436
var
d2 = d1.GetPreviousDirective();
1439
var
d3 = d2.GetPreviousDirective();
1442
var
d4 = d3.GetPreviousDirective();
1445
var
d5 = d4.GetPreviousDirective();
1492
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1523
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1562
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1593
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1627
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1661
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1691
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
1714
var
d = tree.GetCompilationUnitRoot().GetFirstDirective();
1735
var
d = tree.GetCompilationUnitRoot().GetLastDirective();
Microsoft.CodeAnalysis.CSharp.Workspaces (62)
Classification\Worker.cs (1)
226
ClassifyPreprocessorDirective((
DirectiveTriviaSyntax
)trivia.GetStructure()!);
Classification\Worker_Preprocesser.cs (2)
12
private void ClassifyPreprocessorDirective(
DirectiveTriviaSyntax
node)
78
private void ClassifyDirectiveTrivia(
DirectiveTriviaSyntax
node, bool allowComments = true)
CSharpSyntaxFacts.cs (1)
132
=> node is
DirectiveTriviaSyntax
;
CSharpVirtualCharService.cs (1)
116
if (node is
DirectiveTriviaSyntax
)
DirectiveSyntaxExtensions.cs (9)
42
var directiveMap = new Dictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
>(
44
var conditionalMap = new Dictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>>(
57
internal static
DirectiveTriviaSyntax
GetMatchingDirective(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
65
directiveSyntaxMap.TryGetValue(directive, out
var
result);
70
internal static IReadOnlyList<
DirectiveTriviaSyntax
> GetMatchingConditionalDirectives(this
DirectiveTriviaSyntax
directive, CancellationToken cancellationToken)
DirectiveSyntaxExtensions.DirectiveInfo.cs (8)
18
public IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> DirectiveMap { get; }
21
public IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> ConditionalMap { get; }
31
IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> directiveMap,
32
IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> conditionalMap,
DirectiveSyntaxExtensions.DirectiveSyntaxEqualityComparer.cs (4)
14
private class DirectiveSyntaxEqualityComparer : IEqualityComparer<
DirectiveTriviaSyntax
>
22
public bool Equals(
DirectiveTriviaSyntax
x,
DirectiveTriviaSyntax
y)
25
public int GetHashCode(
DirectiveTriviaSyntax
obj)
DirectiveSyntaxExtensions.DirectiveWalker.cs (28)
20
private readonly IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> _directiveMap;
21
private readonly IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> _conditionalMap;
24
private readonly Stack<
DirectiveTriviaSyntax
> _regionStack = new();
25
private readonly Stack<
DirectiveTriviaSyntax
> _ifStack = new();
28
IDictionary<
DirectiveTriviaSyntax
,
DirectiveTriviaSyntax
> directiveMap,
29
IDictionary<
DirectiveTriviaSyntax
, IReadOnlyList<
DirectiveTriviaSyntax
>> conditionalMap,
62
HandleRegionDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
65
HandleIfDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
68
HandleEndRegionDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
71
HandleEndIfDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
74
HandleElifDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
77
HandleElseDirective((
DirectiveTriviaSyntax
)directive.GetStructure());
83
private void HandleIfDirective(
DirectiveTriviaSyntax
directive)
86
private void HandleRegionDirective(
DirectiveTriviaSyntax
directive)
89
private void HandleElifDirective(
DirectiveTriviaSyntax
directive)
92
private void HandleElseDirective(
DirectiveTriviaSyntax
directive)
95
private void HandleEndIfDirective(
DirectiveTriviaSyntax
directive)
105
private void FinishIf(
DirectiveTriviaSyntax
directiveOpt)
107
var condDirectives = new List<
DirectiveTriviaSyntax
>();
115
var
poppedDirective = _ifStack.Pop();
125
foreach (
var
cond in condDirectives)
131
var
ifDirective = condDirectives.First();
144
private void HandleEndRegionDirective(
DirectiveTriviaSyntax
directive)
151
var
previousDirective = _regionStack.Pop();
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs\SyntaxTreeExtensions.cs (2)
23
var
directive = token.GetAncestor<
DirectiveTriviaSyntax
>();
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs\SyntaxNodeExtensions.cs (3)
637
var
match = ((
DirectiveTriviaSyntax
)structure).GetMatchingDirective(cancellationToken);
651
var directives = ((
DirectiveTriviaSyntax
)structure).GetMatchingConditionalDirectives(cancellationToken);
ParenthesizedExpressionSyntaxExtensions.cs (1)
261
if (nodeParent is
DirectiveTriviaSyntax
)
SuppressFormattingRule.cs (2)
329
var
endDirective = pragmaWarningDirectiveTrivia.GetNextDirective(trivia => IsFormatDirective(trivia, SyntaxKind.RestoreKeyword));
340
private static bool IsFormatDirective(
DirectiveTriviaSyntax
? trivia, SyntaxKind disableOrRestoreKeyword)