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