2 types derived from SyntaxNode
Microsoft.CodeAnalysis.Razor.Compiler (2)
Language\Syntax\RazorSyntaxNode.cs (1)
9internal abstract partial class RazorSyntaxNode : SyntaxNode
Language\Syntax\SyntaxList.cs (1)
10internal abstract class SyntaxList(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) : SyntaxNode(green, parent, position)
1274 references to SyntaxNode
Microsoft.AspNetCore.Razor.Language.Legacy.UnitTests (3)
Legacy\ImplicitExpressionEditHandlerTest.cs (1)
454var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null)
Legacy\TagHelperParseTreeRewriterTest.cs (1)
52var document = parseResult.Root;
Legacy\WhiteSpaceRewriterTest.cs (1)
29var rewritten = rewriter.Visit(parsed.Root);
Microsoft.AspNetCore.Razor.Language.UnitTests (151)
DefaultRazorTagHelperBinderPhaseTest.cs (3)
46var erroredNode = codeDocument.GetSyntaxTree().Root.DescendantNodes().First(n => n.GetChunkGenerator() is AddTagHelperChunkGenerator); 75var erroredNode = codeDocument.GetSyntaxTree().Root.DescendantNodes().First(n => n.GetChunkGenerator() is RemoveTagHelperChunkGenerator); 104var erroredNode = codeDocument.GetSyntaxTree().Root.DescendantNodes().First(n => n.GetChunkGenerator() is TagHelperPrefixDirectiveChunkGenerator);
DirectiveTokenEditHandlerTest.cs (1)
80public new PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change)
IntegrationTests\FindTokenIntegrationTest.cs (1)
20var root = codeDocument.GetRequiredSyntaxTree().Root;
Legacy\CodeBlockEditHandlerTest.cs (13)
20var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 34var span = GetSpan(SourceLocation.Zero, "Hello <div>@world</div>."); 48var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 62var span = GetSpan(SourceLocation.Zero, "Hello <div></div>."); 76var span = GetSpan(SourceLocation.Zero, "Hello @"); 90var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 104var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 118var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 132var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 146var span = GetSpan(SourceLocation.Zero, "world"); 160var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 174var span = GetSpan(SourceLocation.Zero, "Hello {world}."); 283private static SyntaxNode GetSpan(SourceLocation start, string content)
Legacy\CSharpCodeParserTest.cs (1)
205var erroredNode = document.Root.DescendantNodes().Last(n => n.GetChunkGenerator() is TagHelperPrefixDirectiveChunkGenerator);
Legacy\TagHelperParseTreeRewriterTest.cs (1)
52var document = parseResult.Root;
Legacy\WhiteSpaceRewriterTest.cs (1)
32var rewritten = rewriter.Visit(parsed.Root);
RazorSyntaxTreeTest.cs (1)
57var root = syntaxTree.Root;
SourceChangeTest.cs (5)
113var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null).CreateRed(); 132var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null).CreateRed(null, 13); 151var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null).CreateRed(null, 13); 170var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null).CreateRed(null, 13); 189var node = SyntaxFactory.MarkupTextLiteral(builder.ToList(), SpanChunkGenerator.Null, editHandler: null).CreateRed(null, 13);
Syntax\FindTokenTests.cs (2)
995var parent = token.Parent; 1011var parent = token.Parent;
Syntax\SyntaxListTests.cs (122)
31var emptyList = SyntaxList<SyntaxNode>.Empty; 48SyntaxList<SyntaxNode> originalList = [existingNode]; 70var list = SyntaxList<SyntaxNode>.Empty; 95SyntaxList<SyntaxNode> originalList = [node1]; 112SyntaxList<SyntaxNode> originalList = [node1]; 131var list = SyntaxList<SyntaxNode>.Empty; 140var emptyList = SyntaxList<SyntaxNode>.Empty; 141SyntaxNode[] nodesToAdd = [ 165SyntaxList<SyntaxNode> originalList = [existingNode]; 167SyntaxNode[] nodesToAdd = [ 189SyntaxList<SyntaxNode> originalList = [node]; 190var emptySpan = ReadOnlySpan<SyntaxNode>.Empty; 205SyntaxList<SyntaxNode> originalList = [existingNode]; 207SyntaxNode[] nodesToAdd = [ 226SyntaxList<SyntaxNode> originalList = [existingNode]; 228SyntaxNode[] nodesToAdd = [ 251var emptyList = SyntaxList<SyntaxNode>.Empty; 252SyntaxNode[] nodesToAdd = [ 276SyntaxList<SyntaxNode> originalList = [existingNode]; 278SyntaxNode[] nodesToAdd = [ 300SyntaxList<SyntaxNode> originalList = [node]; 301var emptyNodes = Array.Empty<SyntaxNode>(); 316SyntaxList<SyntaxNode> originalList = [existingNode]; 318SyntaxNode[] nodesToAdd = [ 337SyntaxList<SyntaxNode> originalList = [existingNode]; 339SyntaxNode[] nodesToAdd = [ 360var list = SyntaxList<SyntaxNode>.Empty; 361IEnumerable<SyntaxNode> newNodes = null!; 371var emptyList = SyntaxList<SyntaxNode>.Empty; 374SyntaxNode[] mixedNodes = [ 397var emptyList = SyntaxList<SyntaxNode>.Empty; 398List<SyntaxNode> nodesList = [ 420var emptyList = SyntaxList<SyntaxNode>.Empty; 422IEnumerable<SyntaxNode> nodes = [ 435foreach (var node in nodes) 447SyntaxList<SyntaxNode> originalList = [node1, node2]; 467SyntaxList<SyntaxNode> originalList = [node1, node2]; 487SyntaxList<SyntaxNode> originalList = [node1, node2]; 506var emptyList = SyntaxList<SyntaxNode>.Empty; 523SyntaxList<SyntaxNode> originalList = [node1]; 539SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 549SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 560SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 572SyntaxList<SyntaxNode> originalList = [existingNode]; 574SyntaxNode[] nodesToInsert = [ 596SyntaxList<SyntaxNode> originalList = [node1, node2]; 598SyntaxNode[] nodesToInsert = [ 620SyntaxList<SyntaxNode> originalList = [node1]; 622SyntaxNode[] nodesToInsert = [ 645SyntaxList<SyntaxNode> originalList = [node]; 646var emptySpan = ReadOnlySpan<SyntaxNode>.Empty; 660var emptyList = SyntaxList<SyntaxNode>.Empty; 662SyntaxNode[] nodesToInsert = [ 686SyntaxList<SyntaxNode> originalList = [existingNode]; 688SyntaxNode[] nodesToInsert = [ 706SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 707SyntaxNode[] nodes = [CreateMarkupTextLiteral(s_closeAngle)]; 717SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 718SyntaxNode[] nodes = [CreateMarkupTextLiteral(s_closeAngle)]; 729SyntaxList<SyntaxNode> originalList = [existingNode]; 731SyntaxNode[] nodesToInsert = [ 753SyntaxList<SyntaxNode> originalList = [node1, node2]; 755SyntaxNode[] nodesToInsert = [ 777SyntaxList<SyntaxNode> originalList = [node1]; 779SyntaxNode[] nodesToInsert = [ 801SyntaxList<SyntaxNode> originalList = [node]; 802var emptyNodes = Array.Empty<SyntaxNode>(); 816var emptyList = SyntaxList<SyntaxNode>.Empty; 818SyntaxNode[] nodesToInsert = [ 842SyntaxList<SyntaxNode> originalList = [existingNode]; 844SyntaxNode[] nodesToInsert = [ 862SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 863IEnumerable<SyntaxNode> newNodes = null!; 873SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 884SyntaxList<SyntaxNode> list = [CreateMarkupTextLiteral(s_openAngle)]; 896SyntaxList<SyntaxNode> originalList = [existingNode]; 898List<SyntaxNode> nodesToInsert = [ 922SyntaxList<SyntaxNode> originalList = [existingNode]; 924IEnumerable<SyntaxNode> nodesToInsert = [ 937foreach (var node in nodesToInsert) 949SyntaxList<SyntaxNode> originalList = [node]; 966SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 985SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1004SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1021SyntaxList<SyntaxNode> list = [node]; 1032SyntaxList<SyntaxNode> list = [node]; 1044SyntaxList<SyntaxNode> originalList = [node1, node2]; 1062SyntaxList<SyntaxNode> originalList = [node1, node2]; 1081SyntaxList<SyntaxNode> originalList = [node]; 1098SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1117SyntaxList<SyntaxNode> originalList = [node1, node2]; 1135SyntaxList<SyntaxNode> originalList = [node1, node2]; 1151var emptyList = SyntaxList<SyntaxNode>.Empty; 1168SyntaxList<SyntaxNode> originalList = [original]; 1187SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1207SyntaxList<SyntaxNode> originalList = [node1, node2]; 1225SyntaxList<SyntaxNode> list = [node]; 1237SyntaxList<SyntaxNode> list = [node]; 1250SyntaxList<SyntaxNode> list = [node]; 1262SyntaxList<SyntaxNode> originalList = [node1, node2]; 1282SyntaxNode[] replacements = [ 1286SyntaxList<SyntaxNode> originalList = [original]; 1305SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1306SyntaxNode[] replacements = [ 1330SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1348SyntaxList<SyntaxNode> originalList = [node1, node2]; 1349SyntaxNode[] replacements = [ 1370SyntaxNode[] replacements = [CreateMarkupTextLiteral(s_closeAngle)]; 1371SyntaxList<SyntaxNode> list = [node]; 1384SyntaxList<SyntaxNode> originalList = [original]; 1403SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1426SyntaxList<SyntaxNode> originalList = [node1, node2, node3]; 1444SyntaxList<SyntaxNode> originalList = [node1, node2]; 1463SyntaxList<SyntaxNode> list = [node]; 1475SyntaxList<SyntaxNode> list = [node]; 1476IEnumerable<SyntaxNode> newNodes = null!; 1489SyntaxList<SyntaxNode> list = [node]; 1500SyntaxList<SyntaxNode> list = [node]; 1501List<SyntaxNode> replacements = [ 1522SyntaxList<SyntaxNode> list = [node]; 1523IEnumerable<SyntaxNode> replacements = [ 1534foreach (var replacement in replacements)
Microsoft.AspNetCore.Razor.Microbenchmarks (1)
Serialization\CompletionListSerializationBenchmark.cs (1)
71var owner = syntaxTree.Root.FindInnermostNode(queryIndex, includeWhitespace: true, walkMarkersBack: true);
Microsoft.AspNetCore.Razor.Test.Common (13)
Language\IntegrationTests\IntegrationTestBase.cs (8)
495var span = spans[i]; 689public List<Syntax.SyntaxNode> CodeSpans { get; } = new List<Syntax.SyntaxNode>(); 691public override Syntax.SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) 701public override Syntax.SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) 711public override Syntax.SyntaxNode VisitCSharpStatement(CSharpStatementSyntax node) 723public override Syntax.SyntaxNode VisitRazorUsingDirective(RazorUsingDirectiveSyntax node) 735public override Syntax.SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node)
Language\Legacy\ParserTestBase.cs (2)
65var root = syntaxTree.Root; 226var root = markupParser.ParseDocument().CreateRed();
Language\SyntaxTreeVerifier.cs (1)
48var root = syntaxTree.Root;
Language\TestSyntaxSerializer.cs (2)
23public static string Serialize(SyntaxNode node, bool allowSpanEditHandlers = false) 51protected override void WriteSpanEditHandlers(SyntaxNode node)
Microsoft.AspNetCore.Razor.Test.Common.Tooling (1)
Language\Legacy\ToolingParserTestBase.cs (1)
50var root = syntaxTree.Root;
Microsoft.CodeAnalysis.Razor.Compiler (780)
Language\DefaultDirectiveSyntaxTreePass.cs (4)
42var root = Visit(_syntaxTree.Root); 49public override SyntaxNode? Visit(SyntaxNode? node) 68public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node)
Language\DefaultRazorIntermediateNodeLoweringPhase.cs (16)
529protected SourceSpan? BuildSourceSpanFromNode(SyntaxNode node) 688foreach (var child in descendantNodes) 786var markupLiteral = SyntaxFactory.MarkupTextLiteral(node.LiteralTokens).Green.CreateRed(node.Parent, node.Position); 799protected internal void VisitAttributeValue(SyntaxNode node) 834var rewritten = SyntaxFactory.MarkupTextLiteral(builder.ToList()).Green.CreateRed(node.Parent, position); 851var rewritten = SyntaxFactory.MarkupTextLiteral(builder.ToList()).Green.CreateRed(node.Parent, position); 872var rewritten = SyntaxFactory.CSharpExpressionLiteral(builder.ToList(), generator, editHandler).Green.CreateRed(node.Parent, position); 881var rewritten = SyntaxFactory.MarkupTextLiteral(escapedAtTokens).Green.CreateRed(node.Parent, position); 891protected void Combine(HtmlContentIntermediateNode node, SyntaxNode item) 1269var mergedAttribute = SyntaxFactory.MarkupTextLiteral(mergedLiterals).Green.CreateRed(node.Parent, node.Position); 1333SyntaxNode rewritten; 1433var literal = SyntaxFactory.MarkupTextLiteral(literals).Green.CreateRed(node.Parent, node.Position); 1554private void VisitHtmlContent(SyntaxNode node) 1822var rewritten = SyntaxFactory.MarkupTextLiteral(mergedTokens.ToList()).Green.CreateRed(node.Value.Parent, atPosition); 2139if (node.FirstAncestorOrSelf<SyntaxNode>(n => n is MarkupStartTagSyntax || n is MarkupEndTagSyntax) != null) 2163if (node.FirstAncestorOrSelf<SyntaxNode>(n => n is CSharpImplicitExpressionSyntax) == null)
Language\DefaultRazorTagHelperContextDiscoveryPhase.cs (1)
193foreach (var child in node.DescendantNodes())
Language\DirectiveTokenEditHandler.cs (1)
22protected override PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change)
Language\HtmlNodeOptimizationPass.cs (1)
19var rewritten = whitespaceRewriter.Visit(syntaxTree.Root);
Language\Legacy\AutoCompleteEditHandler.cs (1)
39protected override PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change)
Language\Legacy\ClassifiedSpanVisitor.cs (12)
23private SyntaxNode? _currentBlock; 358private BlockSaver CommentBlock(SyntaxNode node) 361private BlockSaver DirectiveBlock(SyntaxNode node) 364private BlockSaver ExpressionBlock(SyntaxNode node) 367private BlockSaver HtmlCommentBlock(SyntaxNode node) 370private BlockSaver MarkupBlock(SyntaxNode node) 373private BlockSaver StatementBlock(SyntaxNode node) 376private BlockSaver TagBlock(SyntaxNode node) 379private BlockSaver TemplateBlock(SyntaxNode node) 382private BlockSaver Block(SyntaxNode node, BlockKindInternal kind) 398private readonly SyntaxNode? _previousBlock = visitor._currentBlock; 413private void AddSpan(SyntaxNode node, SpanKindInternal kind)
Language\Legacy\CodeBlockEditHandler.cs (4)
22protected override PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change) 43internal static bool IsAcceptableReplacement(SyntaxNode target, SourceChange change) 64internal static bool IsAcceptableDeletion(SyntaxNode target, SourceChange change) 80internal static bool ModifiesInvalidContent(SyntaxNode target, SourceChange change)
Language\Legacy\EditResult.cs (2)
12public EditResult(PartialParseResultInternal result, SyntaxNode editedNode) 19public SyntaxNode EditedNode { get; set; }
Language\Legacy\HtmlMarkupParser.cs (1)
2320var red = node.CreateRed();
Language\Legacy\ILegacySyntax.cs (2)
13SyntaxNode Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler); 14SyntaxNode WithEditHandler(SpanEditHandler? editHandler);
Language\Legacy\ImplicitExpressionEditHandler.cs (21)
56protected override PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change) 125private static bool IsDotlessCommitInsertion(SyntaxNode target, SourceChange change) 131private static bool IsNewDotlessCommitInsertion(SyntaxNode target, SourceChange change) 144private static bool IsSecondaryDotlessCommitInsertion(SyntaxNode target, SourceChange change) 154private static bool IsAcceptableReplace(SyntaxNode target, SourceChange change) 160private bool IsAcceptableIdentifierReplacement(SyntaxNode target, SourceChange change) 211private static bool IsAcceptableDeletion(SyntaxNode target, SourceChange change) 218private static bool IsAcceptableInsertion(SyntaxNode target, SourceChange change) 226internal static bool IsAcceptableDeletionInBalancedParenthesis(SyntaxNode target, SourceChange change) 256internal static bool IsAcceptableInsertionInBalancedParenthesis(SyntaxNode target, SourceChange change) 415private static bool IsAcceptableEndInsertion(SyntaxNode target, SourceChange change) 425private static bool IsAcceptableInnerInsertion(SyntaxNode target, SourceChange change) 437private static bool RemainingIsWhitespace(SyntaxNode target, SourceChange change) 443private PartialParseResultInternal HandleDotlessCommitInsertion(SyntaxNode target) 453private PartialParseResultInternal HandleReplacement(SyntaxNode target, SourceChange change) 474private PartialParseResultInternal HandleDeletion(SyntaxNode target, char previousChar, SourceChange change) 497private PartialParseResultInternal HandleInsertion(SyntaxNode target, char previousChar, SourceChange change) 518private PartialParseResultInternal HandleInsertionAfterIdPart(SyntaxNode target, SourceChange change) 547private PartialParseResultInternal HandleInsertionAfterOpenParenthesis(SyntaxNode target, SourceChange change) 557private PartialParseResultInternal HandleInsertionAfterDot(SyntaxNode target, SourceChange change) 567private PartialParseResultInternal TryAcceptChange(SyntaxNode target, SourceChange change, PartialParseResultInternal acceptResult = PartialParseResultInternal.Accepted)
Language\Legacy\LegacySyntaxNodeExtensions.ChildSyntaxListReversedEnumeratorStack.cs (2)
15/// This is similar to <see cref="SyntaxNode.ChildSyntaxListEnumeratorStack"/>. 28public ChildSyntaxListReversedEnumeratorStack(SyntaxNode node)
Language\Legacy\LegacySyntaxNodeExtensions.cs (25)
26private static readonly ConditionalWeakTable<SyntaxNode, SpanData> s_spanDataTable = new(); 62internal static ISpanChunkGenerator? GetChunkGenerator(this SyntaxNode node) 65public static SpanEditHandler? GetEditHandler(this SyntaxNode node) 69public static SyntaxNode? LocateOwner(this SyntaxNode node, SourceChange change) 102static SyntaxNode? LocateOwnerForSyntaxList(in SyntaxList<RazorSyntaxNode> list, SourceChange change) 115static SyntaxNode? LocateOwnerForChildSyntaxList(in ChildSyntaxList list, SourceChange change) 119if (child.AsNode(out var node) && node.LocateOwner(change) is { } owner) 129public static bool IsTransitionSpanKind(this SyntaxNode node) 138return nodeOrToken.AsNode(out var node) && node.IsMetaCodeSpanKind(); 141public static bool IsMetaCodeSpanKind(this SyntaxNode node) 148public static bool IsCommentSpanKind(this SyntaxNode node) 155public static bool IsCodeSpanKind(this SyntaxNode node) 162public static bool IsMarkupSpanKind(this SyntaxNode node) 169public static bool IsNoneSpanKind(this SyntaxNode node) 176public static bool IsSpanKind(this SyntaxNode node) 182private static IEnumerable<SyntaxNodeOrToken> FlattenSpansInReverse(this SyntaxNode node) 221public static IEnumerable<SyntaxNode> FlattenSpans(this SyntaxNode node) 225foreach (var child in node.DescendantNodes()) 254public static SyntaxNodeOrToken? PreviousSpan(this SyntaxNode node) 267var parent = node.Parent; 291public static SyntaxNodeOrToken? NextSpan(this SyntaxNode node) 304var parent = node.Parent; 307foreach (var span in parent.FlattenSpans())
Language\Legacy\RazorParser.cs (1)
35var root = markupParser.ParseDocument().CreateRed();
Language\Legacy\SpanEditHandler.cs (12)
55public virtual EditResult ApplyChange(SyntaxNode target, SourceChange change) 60public virtual EditResult ApplyChange(SyntaxNode target, SourceChange change, bool force) 76public virtual bool OwnsChange(SyntaxNode target, SourceChange change) 84protected virtual PartialParseResultInternal CanAcceptChange(SyntaxNode target, SourceChange change) 89protected virtual SyntaxNode UpdateSpan(SyntaxNode target, SourceChange change) 98var newTarget = target switch 107_ => Assumed.Unreachable<SyntaxNode>($"The type {target?.GetType().Name} is not a supported span node."), 112protected internal static bool IsAtEndOfFirstLine(SyntaxNode target, SourceChange change) 121protected internal static bool IsEndDeletion(SyntaxNode target, SourceChange change) 129protected internal static bool IsEndReplace(SyntaxNode target, SourceChange change) 134protected internal static bool IsAtEndOfSpan(SyntaxNode target, SourceChange change)
Language\Legacy\Syntax\CSharpEphemeralTextLiteralSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\CSharpExpressionLiteralSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\CSharpStatementLiteralSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\CSharpTransitionSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupEndTagSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupEphemeralTextLiteralSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupStartTagSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupTagHelperEndTagSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupTagHelperStartTagSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupTextLiteralSyntax.cs (2)
16SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 19SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\MarkupTransitionSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\RazorMetaCodeSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\Syntax\UnclassifiedTextLiteralSyntax.cs (2)
13SyntaxNode ILegacySyntax.Update(ISpanChunkGenerator? chunkGenerator, SpanEditHandler? editHandler) 16SyntaxNode ILegacySyntax.WithEditHandler(SpanEditHandler? editHandler)
Language\Legacy\TagHelperAttributeNode.cs (3)
12public TagHelperAttributeNode(string name, SyntaxNode value, AttributeStructure attributeStructure) 20internal TagHelperAttributeNode(string name, SyntaxNode value) 27public SyntaxNode Value { get; }
Language\Legacy\TagHelperBlockRewriter.cs (20)
22var childSpan = startTag.GetLastToken().Parent; 570public override SyntaxNode VisitGenericBlock(GenericBlockSyntax node) 605public override SyntaxNode VisitCSharpTransition(CSharpTransitionSyntax node) 633public override SyntaxNode VisitCSharpImplicitExpression(CSharpImplicitExpressionSyntax node) 661public override SyntaxNode VisitCSharpExplicitExpression(CSharpExplicitExpressionSyntax node) 709public override SyntaxNode VisitRazorMetaCode(RazorMetaCodeSyntax node) 728public override SyntaxNode VisitCSharpStatement(CSharpStatementSyntax node) 735public override SyntaxNode VisitRazorUsingDirective(RazorUsingDirectiveSyntax node) 741public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) 748public override SyntaxNode VisitMarkupElement(MarkupElementSyntax node) 756public override SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) 769public override SyntaxNode VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node) 798public override SyntaxNode VisitMarkupDynamicAttributeValue(MarkupDynamicAttributeValueSyntax node) 818public override SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) 829public override SyntaxNode VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) 841public override SyntaxNode VisitMarkupEphemeralTextLiteral(MarkupEphemeralTextLiteralSyntax node) 885private SyntaxNode ConfigureNonStringAttribute(SyntaxNode node) 919?? Assumed.Unreachable<SyntaxNode>($"Unexpected node type {node.Kind}"); 924?? Assumed.Unreachable<SyntaxNode>($"Unexpected node type {node.Kind}");
Language\Legacy\TagHelperParseTreeRewriter.cs (12)
34var rewritten = rewriter.Visit(syntaxTree.Root); 97public override SyntaxNode VisitMarkupElement(MarkupElementSyntax node) 218public override SyntaxNode VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) 222var tagParent = node.FirstAncestorOrSelf<SyntaxNode>(n => n is MarkupStartTagSyntax || n is MarkupEndTagSyntax); 562private void ValidateParentAllowsContent(SyntaxNode child) 674private static bool IsPartOfStartTag(SyntaxNode node) 677var parent = node.FirstAncestorOrSelf<SyntaxNode>(static n => 685private static bool IsComment(SyntaxNode node) 687var commentParent = node.FirstAncestorOrSelf<SyntaxNode>(
Language\Legacy\WhiteSpaceRewriter.cs (4)
16public override SyntaxNode? Visit(SyntaxNode? node) 32TryRewriteWhitespace(codeBlock, out var rewritten, out var whitespaceLiteral)) 49[NotNullWhen(true)] out SyntaxNode? whitespaceLiteral)
Language\RazorSyntaxTree.cs (3)
14internal SyntaxNode Root { get; } 22SyntaxNode root, 48static ImmutableArray<RazorDiagnostic> ComputeAllDiagnostics(ImmutableArray<RazorDiagnostic> treeDiagnostics, SyntaxNode root)
Language\SourceChange.cs (3)
56internal string GetEditedContent(SyntaxNode node) 77internal int GetOffset(SyntaxNode node) 98internal string GetOriginalText(SyntaxNode node)
Language\Syntax\BaseMarkupEndTagSyntax.cs (4)
11private SyntaxNode? _lazyChildren; 17var children = _lazyChildren ?? 24private SyntaxNode ComputeEndTagLegacyChildren() 29using PooledArrayBuilder<SyntaxNode> builder = [];
Language\Syntax\BaseMarkupStartTagSyntax.cs (4)
11private SyntaxNode? _lazyChildren; 19var children = _lazyChildren ?? 42private SyntaxNode ComputeStartTagLegacyChildren() 44using PooledArrayBuilder<SyntaxNode> builder = [];
Language\Syntax\ChildSyntaxList.cs (15)
14private readonly SyntaxNode _node; 17internal ChildSyntaxList(SyntaxNode node) 71internal SyntaxNode Node => _node; 95public SlotData(SyntaxNode node) 108internal static SyntaxNodeOrToken ItemInternal(SyntaxNode node, int index) 119internal static SyntaxNodeOrToken ItemInternal(SyntaxNode node, int index, ref SlotData slotData) 165var red = node.GetNodeSlot(slotIndex); 178var redChild = red.GetNodeSlot(idx); 202/// Locate the node that is a child of the given <see cref="SyntaxNode"/> and contains the given position. 204/// <param name="node">The <see cref="SyntaxNode"/> to search.</param> 212internal static SyntaxNodeOrToken ChildThatContainsPosition(SyntaxNode node, int targetPosition) 245var red = node.GetNodeSlot(slot); 290internal static SyntaxNode? ItemInternalAsNode(SyntaxNode node, int index, ref SlotData slotData) 331var red = node.GetNodeSlot(slotIndex);
Language\Syntax\ChildSyntaxList.Enumerator.cs (6)
16private SyntaxNode _node; 21internal Enumerator(SyntaxNode node, int count) 31internal void InitializeFrom(SyntaxNode node) 87internal SyntaxNode? TryMoveNextAndGetCurrentAsNode() 91var nodeValue = ItemInternalAsNode(_node, _childIndex, ref _slotData); 106internal EnumeratorImpl(SyntaxNode node, int count)
Language\Syntax\ChildSyntaxList.Reversed.cs (4)
16private readonly SyntaxNode _node; 19internal Reversed(SyntaxNode node, int count) 63private readonly SyntaxNode _node; 67internal Enumerator(SyntaxNode node, int count)
Language\Syntax\Generated\Syntax.xml.Internal.Generated.cs (82)
60internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorDocumentSyntax(this, parent, position); 140internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorCommentBlockSyntax(this, parent, position); 202internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorMetaCodeSyntax(this, parent, position); 256internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.GenericBlockSyntax(this, parent, position); 318internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.UnclassifiedTextLiteralSyntax(this, parent, position); 385internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupBlockSyntax(this, parent, position); 447internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTransitionSyntax(this, parent, position); 509internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTextLiteralSyntax(this, parent, position); 571internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupEphemeralTextLiteralSyntax(this, parent, position); 625internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupCommentBlockSyntax(this, parent, position); 690internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupMinimizedAttributeBlockSyntax(this, parent, position); 814internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupAttributeBlockSyntax(this, parent, position); 868internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupMiscAttributeContentSyntax(this, parent, position); 939internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupLiteralAttributeValueSyntax(this, parent, position); 1004internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupDynamicAttributeValueSyntax(this, parent, position); 1163internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupElementSyntax(this, parent, position); 1280internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupStartTagSyntax(this, parent, position); 1391internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupEndTagSyntax(this, parent, position); 1479internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperElementSyntax(this, parent, position); 1592internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperStartTagSyntax(this, parent, position); 1699internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperEndTagSyntax(this, parent, position); 1821internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperAttributeSyntax(this, parent, position); 1890internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupMinimizedTagHelperAttributeSyntax(this, parent, position); 1944internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperAttributeValueSyntax(this, parent, position); 2099internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupTagHelperDirectiveAttributeSyntax(this, parent, position); 2201internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.MarkupMinimizedTagHelperDirectiveAttributeSyntax(this, parent, position); 2268internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpCodeBlockSyntax(this, parent, position); 2324internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpTransitionSyntax(this, parent, position); 2386internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpStatementLiteralSyntax(this, parent, position); 2448internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpExpressionLiteralSyntax(this, parent, position); 2510internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpEphemeralTextLiteralSyntax(this, parent, position); 2564internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpTemplateBlockSyntax(this, parent, position); 2640internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpStatementSyntax(this, parent, position); 2706internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpStatementBodySyntax(this, parent, position); 2765internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpExplicitExpressionSyntax(this, parent, position); 2831internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpExplicitExpressionBodySyntax(this, parent, position); 2890internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpImplicitExpressionSyntax(this, parent, position); 2938internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.CSharpImplicitExpressionBodySyntax(this, parent, position); 3014internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorDirectiveSyntax(this, parent, position); 3077internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorUsingDirectiveSyntax(this, parent, position); 3142internal override SyntaxNode CreateRed(SyntaxNode parent, int position) => new Syntax.RazorDirectiveBodySyntax(this, parent, position);
Language\Syntax\Generated\Syntax.xml.Main.Generated.cs (42)
261internal partial class SyntaxRewriter : SyntaxVisitor<SyntaxNode> 263public override SyntaxNode VisitRazorDocument(RazorDocumentSyntax node) 266public override SyntaxNode VisitRazorCommentBlock(RazorCommentBlockSyntax node) 269public override SyntaxNode VisitRazorMetaCode(RazorMetaCodeSyntax node) 272public override SyntaxNode VisitGenericBlock(GenericBlockSyntax node) 275public override SyntaxNode VisitUnclassifiedTextLiteral(UnclassifiedTextLiteralSyntax node) 278public override SyntaxNode VisitMarkupBlock(MarkupBlockSyntax node) 281public override SyntaxNode VisitMarkupTransition(MarkupTransitionSyntax node) 284public override SyntaxNode VisitMarkupTextLiteral(MarkupTextLiteralSyntax node) 287public override SyntaxNode VisitMarkupEphemeralTextLiteral(MarkupEphemeralTextLiteralSyntax node) 290public override SyntaxNode VisitMarkupCommentBlock(MarkupCommentBlockSyntax node) 293public override SyntaxNode VisitMarkupMinimizedAttributeBlock(MarkupMinimizedAttributeBlockSyntax node) 296public override SyntaxNode VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node) 299public override SyntaxNode VisitMarkupMiscAttributeContent(MarkupMiscAttributeContentSyntax node) 302public override SyntaxNode VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node) 305public override SyntaxNode VisitMarkupDynamicAttributeValue(MarkupDynamicAttributeValueSyntax node) 308public override SyntaxNode VisitMarkupElement(MarkupElementSyntax node) 311public override SyntaxNode VisitMarkupStartTag(MarkupStartTagSyntax node) 314public override SyntaxNode VisitMarkupEndTag(MarkupEndTagSyntax node) 317public override SyntaxNode VisitMarkupTagHelperElement(MarkupTagHelperElementSyntax node) 320public override SyntaxNode VisitMarkupTagHelperStartTag(MarkupTagHelperStartTagSyntax node) 323public override SyntaxNode VisitMarkupTagHelperEndTag(MarkupTagHelperEndTagSyntax node) 326public override SyntaxNode VisitMarkupTagHelperAttribute(MarkupTagHelperAttributeSyntax node) 329public override SyntaxNode VisitMarkupMinimizedTagHelperAttribute(MarkupMinimizedTagHelperAttributeSyntax node) 332public override SyntaxNode VisitMarkupTagHelperAttributeValue(MarkupTagHelperAttributeValueSyntax node) 335public override SyntaxNode VisitMarkupTagHelperDirectiveAttribute(MarkupTagHelperDirectiveAttributeSyntax node) 338public override SyntaxNode VisitMarkupMinimizedTagHelperDirectiveAttribute(MarkupMinimizedTagHelperDirectiveAttributeSyntax node) 341public override SyntaxNode VisitCSharpCodeBlock(CSharpCodeBlockSyntax node) 344public override SyntaxNode VisitCSharpTransition(CSharpTransitionSyntax node) 347public override SyntaxNode VisitCSharpStatementLiteral(CSharpStatementLiteralSyntax node) 350public override SyntaxNode VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax node) 353public override SyntaxNode VisitCSharpEphemeralTextLiteral(CSharpEphemeralTextLiteralSyntax node) 356public override SyntaxNode VisitCSharpTemplateBlock(CSharpTemplateBlockSyntax node) 359public override SyntaxNode VisitCSharpStatement(CSharpStatementSyntax node) 362public override SyntaxNode VisitCSharpStatementBody(CSharpStatementBodySyntax node) 365public override SyntaxNode VisitCSharpExplicitExpression(CSharpExplicitExpressionSyntax node) 368public override SyntaxNode VisitCSharpExplicitExpressionBody(CSharpExplicitExpressionBodySyntax node) 371public override SyntaxNode VisitCSharpImplicitExpression(CSharpImplicitExpressionSyntax node) 374public override SyntaxNode VisitCSharpImplicitExpressionBody(CSharpImplicitExpressionBodySyntax node) 377public override SyntaxNode VisitRazorDirective(RazorDirectiveSyntax node) 380public override SyntaxNode VisitRazorUsingDirective(RazorUsingDirectiveSyntax node) 383public override SyntaxNode VisitRazorDirectiveBody(RazorDirectiveBodySyntax node)
Language\Syntax\Generated\Syntax.xml.Syntax.Generated.cs (142)
11internal RazorBlockSyntax(GreenNode green, SyntaxNode parent, int position) 28internal RazorDocumentSyntax(GreenNode green, SyntaxNode parent, int position) 36internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._document) : null; 38internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._document : null; 63internal RazorCommentBlockSyntax(GreenNode green, SyntaxNode parent, int position) 74internal override SyntaxNode GetNodeSlot(int index) => null; 76internal override SyntaxNode GetCachedSlot(int index) => null; 104internal RazorMetaCodeSyntax(GreenNode green, SyntaxNode parent, int position) 120internal override SyntaxNode GetNodeSlot(int index) => null; 122internal override SyntaxNode GetCachedSlot(int index) => null; 150private SyntaxNode _children; 152internal GenericBlockSyntax(GreenNode green, SyntaxNode parent, int position) 159internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 161internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 189internal UnclassifiedTextLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 205internal override SyntaxNode GetNodeSlot(int index) => null; 207internal override SyntaxNode GetCachedSlot(int index) => null; 235internal MarkupSyntaxNode(GreenNode green, SyntaxNode parent, int position) 243private SyntaxNode _children; 245internal MarkupBlockSyntax(GreenNode green, SyntaxNode parent, int position) 252internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 254internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 282internal MarkupTransitionSyntax(GreenNode green, SyntaxNode parent, int position) 298internal override SyntaxNode GetNodeSlot(int index) => null; 300internal override SyntaxNode GetCachedSlot(int index) => null; 328internal MarkupTextLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 344internal override SyntaxNode GetNodeSlot(int index) => null; 346internal override SyntaxNode GetCachedSlot(int index) => null; 374internal MarkupEphemeralTextLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 390internal override SyntaxNode GetNodeSlot(int index) => null; 392internal override SyntaxNode GetCachedSlot(int index) => null; 420private SyntaxNode _children; 422internal MarkupCommentBlockSyntax(GreenNode green, SyntaxNode parent, int position) 429internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 431internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 462internal MarkupMinimizedAttributeBlockSyntax(GreenNode green, SyntaxNode parent, int position) 470internal override SyntaxNode GetNodeSlot(int index) 478internal override SyntaxNode GetCachedSlot(int index) 518internal MarkupAttributeBlockSyntax(GreenNode green, SyntaxNode parent, int position) 531internal override SyntaxNode GetNodeSlot(int index) 543internal override SyntaxNode GetCachedSlot(int index) 585private SyntaxNode _children; 587internal MarkupMiscAttributeContentSyntax(GreenNode green, SyntaxNode parent, int position) 594internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 596internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 625internal MarkupLiteralAttributeValueSyntax(GreenNode green, SyntaxNode parent, int position) 633internal override SyntaxNode GetNodeSlot(int index) 641internal override SyntaxNode GetCachedSlot(int index) 675internal MarkupDynamicAttributeValueSyntax(GreenNode green, SyntaxNode parent, int position) 683internal override SyntaxNode GetNodeSlot(int index) 691internal override SyntaxNode GetCachedSlot(int index) 722internal BaseMarkupStartTagSyntax(GreenNode green, SyntaxNode parent, int position) 761internal BaseMarkupEndTagSyntax(GreenNode green, SyntaxNode parent, int position) 800internal BaseMarkupElementSyntax(GreenNode green, SyntaxNode parent, int position) 817private SyntaxNode _body; 820internal MarkupElementSyntax(GreenNode green, SyntaxNode parent, int position) 829internal override SyntaxNode GetNodeSlot(int index) 838internal override SyntaxNode GetCachedSlot(int index) 873private SyntaxNode _attributes; 875internal MarkupStartTagSyntax(GreenNode green, SyntaxNode parent, int position) 904internal override SyntaxNode GetNodeSlot(int index) => index == 3 ? GetRed(ref this._attributes, 3) : null; 906internal override SyntaxNode GetCachedSlot(int index) => index == 3 ? this._attributes : null; 949internal MarkupEndTagSyntax(GreenNode green, SyntaxNode parent, int position) 971internal override SyntaxNode GetNodeSlot(int index) => index == 4 ? GetRed(ref this._miscAttributeContent, 4) : null; 973internal override SyntaxNode GetCachedSlot(int index) => index == 4 ? this._miscAttributeContent : null; 1019private SyntaxNode _body; 1022internal MarkupTagHelperElementSyntax(GreenNode green, SyntaxNode parent, int position) 1032internal override SyntaxNode GetNodeSlot(int index) 1041internal override SyntaxNode GetCachedSlot(int index) 1077private SyntaxNode _attributes; 1079internal MarkupTagHelperStartTagSyntax(GreenNode green, SyntaxNode parent, int position) 1107internal override SyntaxNode GetNodeSlot(int index) => index == 3 ? GetRed(ref this._attributes, 3) : null; 1109internal override SyntaxNode GetCachedSlot(int index) => index == 3 ? this._attributes : null; 1151internal MarkupTagHelperEndTagSyntax(GreenNode green, SyntaxNode parent, int position) 1172internal override SyntaxNode GetNodeSlot(int index) => index == 4 ? GetRed(ref this._miscAttributeContent, 4) : null; 1174internal override SyntaxNode GetCachedSlot(int index) => index == 4 ? this._miscAttributeContent : null; 1225internal MarkupTagHelperAttributeSyntax(GreenNode green, SyntaxNode parent, int position) 1239internal override SyntaxNode GetNodeSlot(int index) 1251internal override SyntaxNode GetCachedSlot(int index) 1299internal MarkupMinimizedTagHelperAttributeSyntax(GreenNode green, SyntaxNode parent, int position) 1308internal override SyntaxNode GetNodeSlot(int index) 1316internal override SyntaxNode GetCachedSlot(int index) 1350private SyntaxNode _children; 1352internal MarkupTagHelperAttributeValueSyntax(GreenNode green, SyntaxNode parent, int position) 1359internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 1361internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 1399internal MarkupTagHelperDirectiveAttributeSyntax(GreenNode green, SyntaxNode parent, int position) 1416internal override SyntaxNode GetNodeSlot(int index) 1431internal override SyntaxNode GetCachedSlot(int index) 1490internal MarkupMinimizedTagHelperDirectiveAttributeSyntax(GreenNode green, SyntaxNode parent, int position) 1502internal override SyntaxNode GetNodeSlot(int index) 1513internal override SyntaxNode GetCachedSlot(int index) 1555internal CSharpSyntaxNode(GreenNode green, SyntaxNode parent, int position) 1563private SyntaxNode _children; 1565internal CSharpCodeBlockSyntax(GreenNode green, SyntaxNode parent, int position) 1572internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 1574internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 1602internal CSharpTransitionSyntax(GreenNode green, SyntaxNode parent, int position) 1611internal override SyntaxNode GetNodeSlot(int index) => null; 1613internal override SyntaxNode GetCachedSlot(int index) => null; 1639internal CSharpStatementLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 1655internal override SyntaxNode GetNodeSlot(int index) => null; 1657internal override SyntaxNode GetCachedSlot(int index) => null; 1685internal CSharpExpressionLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 1701internal override SyntaxNode GetNodeSlot(int index) => null; 1703internal override SyntaxNode GetCachedSlot(int index) => null; 1731internal CSharpEphemeralTextLiteralSyntax(GreenNode green, SyntaxNode parent, int position) 1747internal override SyntaxNode GetNodeSlot(int index) => null; 1749internal override SyntaxNode GetCachedSlot(int index) => null; 1777private SyntaxNode _children; 1779internal CSharpTemplateBlockSyntax(GreenNode green, SyntaxNode parent, int position) 1786internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._children) : null; 1788internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._children : null; 1816internal CSharpRazorBlockSyntax(GreenNode green, SyntaxNode parent, int position) 1835internal CSharpStatementSyntax(GreenNode green, SyntaxNode parent, int position) 1843internal override SyntaxNode GetNodeSlot(int index) 1851internal override SyntaxNode GetCachedSlot(int index) 1888internal CSharpStatementBodySyntax(GreenNode green, SyntaxNode parent, int position) 1897internal override SyntaxNode GetNodeSlot(int index) 1906internal override SyntaxNode GetCachedSlot(int index) 1948internal CSharpExplicitExpressionSyntax(GreenNode green, SyntaxNode parent, int position) 1956internal override SyntaxNode GetNodeSlot(int index) 1964internal override SyntaxNode GetCachedSlot(int index) 2001internal CSharpExplicitExpressionBodySyntax(GreenNode green, SyntaxNode parent, int position) 2010internal override SyntaxNode GetNodeSlot(int index) 2019internal override SyntaxNode GetCachedSlot(int index) 2061internal CSharpImplicitExpressionSyntax(GreenNode green, SyntaxNode parent, int position) 2069internal override SyntaxNode GetNodeSlot(int index) 2077internal override SyntaxNode GetCachedSlot(int index) 2112internal CSharpImplicitExpressionBodySyntax(GreenNode green, SyntaxNode parent, int position) 2119internal override SyntaxNode GetNodeSlot(int index) => index == 0 ? GetRedAtZero(ref this._csharpCode) : null; 2121internal override SyntaxNode GetCachedSlot(int index) => index == 0 ? this._csharpCode : null; 2147internal BaseRazorDirectiveSyntax(GreenNode green, SyntaxNode parent, int position) 2161internal RazorDirectiveSyntax(GreenNode green, SyntaxNode parent, int position) 2170internal override SyntaxNode GetNodeSlot(int index) 2178internal override SyntaxNode GetCachedSlot(int index) 2215internal RazorUsingDirectiveSyntax(GreenNode green, SyntaxNode parent, int position) 2224internal override SyntaxNode GetNodeSlot(int index) 2232internal override SyntaxNode GetCachedSlot(int index) 2269internal RazorDirectiveBodySyntax(GreenNode green, SyntaxNode parent, int position) 2277internal override SyntaxNode GetNodeSlot(int index) 2285internal override SyntaxNode GetCachedSlot(int index)
Language\Syntax\GreenNode.cs (3)
294public SyntaxNode CreateRed() 299internal abstract SyntaxNode CreateRed(SyntaxNode? parent, int position);
Language\Syntax\GreenNodeExtensions.cs (1)
13internal static InternalSyntax.SyntaxList<T> ToGreenList<T>(this SyntaxNode node) where T : GreenNode
Language\Syntax\InternalSyntax\SyntaxList.cs (6)
216internal override SyntaxNode CreateRed(SyntaxNode parent, int position) 278internal override SyntaxNode CreateRed(SyntaxNode parent, int position) 339internal override SyntaxNode CreateRed(SyntaxNode parent, int position)
Language\Syntax\InternalSyntax\SyntaxToken.cs (3)
23internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) 25return Assumed.Unreachable<SyntaxNode>();
Language\Syntax\RazorSyntaxNode.cs (11)
11public RazorSyntaxNode(GreenNode green, SyntaxNode parent, int position) 25protected internal override SyntaxNode ReplaceCore<TNode>( 27Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 32protected internal override SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes) 35protected internal override SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 38protected internal override SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens) 41protected internal override SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore)
Language\Syntax\SyntaxBuilderExtensions.cs (58)
15where TNode : SyntaxNode 92where TNode : SyntaxNode 131/// Produces a <see cref="SyntaxNode"/> for a <see cref="SyntaxList"/> from the 134public static SyntaxNode? ToListNode<TNode>(ref readonly this PooledArrayBuilder<TNode> builder) 135where TNode : SyntaxNode 139/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 142public static SyntaxNode? ToListNode<TNode>( 143ref readonly this PooledArrayBuilder<TNode> builder, SyntaxNode parent) 144where TNode : SyntaxNode 148/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 152public static SyntaxNode? ToListNode<TNode>( 153ref readonly this PooledArrayBuilder<TNode> builder, SyntaxNode? parent, int position) 154where TNode : SyntaxNode 160/// Produces a <see cref="SyntaxNode"/> for a <see cref="SyntaxList"/> from the 163public static SyntaxNode? ToListNode(ref readonly this PooledArrayBuilder<SyntaxToken> builder) 167/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 170public static SyntaxNode? ToListNode( 171ref readonly this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode parent) 175/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 179public static SyntaxNode? ToListNode( 180ref readonly this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode? parent, int position) 186/// Produces a <see cref="SyntaxNode"/> for a <see cref="SyntaxList"/> from the 207public static SyntaxNode? ToListNodeAndClear<TNode>(ref this PooledArrayBuilder<TNode> builder) 208where TNode : SyntaxNode 212/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 234public static SyntaxNode? ToListNodeAndClear<TNode>( 235ref this PooledArrayBuilder<TNode> builder, SyntaxNode parent) 236where TNode : SyntaxNode 238var result = builder.ToListNode(parent, parent.Position); 245/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 267public static SyntaxNode? ToListNodeAndClear<TNode>( 268ref this PooledArrayBuilder<TNode> builder, SyntaxNode? parent, int position) 269where TNode : SyntaxNode 271var result = builder.ToListNode(parent, position); 278/// Produces a <see cref="SyntaxNode"/> for a <see cref="SyntaxList"/> from the 299public static SyntaxNode? ToListNodeAndClear(ref this PooledArrayBuilder<SyntaxToken> builder) 303/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 325public static SyntaxNode? ToListNodeAndClear( 326ref this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode parent) 328var result = builder.ToListNode(parent, parent.Position); 335/// Produces a <see cref="SyntaxNode"/> with the given <paramref name="parent"/> 357public static SyntaxNode? ToListNodeAndClear( 358ref this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode? parent, int position) 360var result = builder.ToListNode(parent, position); 370where TNode : SyntaxNode 378ref readonly this PooledArrayBuilder<TNode> builder, SyntaxNode parent) 379where TNode : SyntaxNode 387ref readonly this PooledArrayBuilder<TNode> builder, SyntaxNode? parent, int position) 388where TNode : SyntaxNode 404ref readonly this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode parent) 412ref readonly this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode? parent, int position, int index) 439where TNode : SyntaxNode 465ref this PooledArrayBuilder<TNode> builder, SyntaxNode parent) 466where TNode : SyntaxNode 492ref this PooledArrayBuilder<TNode> builder, SyntaxNode? parent, int position) 493where TNode : SyntaxNode 548ref this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode parent) 574ref this PooledArrayBuilder<SyntaxToken> builder, SyntaxNode? parent, int position, int index)
Language\Syntax\SyntaxFactory.cs (8)
19SyntaxKind kind, SyntaxNode? parent, int position, params RazorDiagnostic[] diagnostics) 23SyntaxKind kind, string content, SyntaxNode? parent, int position, params RazorDiagnostic[] diagnostics) 27SyntaxKind kind, SyntaxNode? parent, int position, int index, params RazorDiagnostic[] diagnostics) 31SyntaxKind kind, string content, SyntaxNode? parent, int position, int index, params RazorDiagnostic[] diagnostics) 38where TNode : SyntaxNode 42where TNode : SyntaxNode 46where TNode : SyntaxNode 50where TNode : SyntaxNode
Language\Syntax\SyntaxList.cs (34)
10internal abstract class SyntaxList(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) : SyntaxNode(green, parent, position) 13where TNode : SyntaxNode 27where TNode : SyntaxNode 61protected internal override SyntaxNode ReplaceCore<TNode>( 63Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 66=> Assumed.Unreachable<SyntaxNode>(); 68protected internal override SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes) 69=> Assumed.Unreachable<SyntaxNode>(); 71protected internal override SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 72=> Assumed.Unreachable<SyntaxNode>(); 74protected internal override SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens) 75=> Assumed.Unreachable<SyntaxNode>(); 77protected internal override SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore) 78=> Assumed.Unreachable<SyntaxNode>(); 82private SyntaxNode? _child0; 83private SyntaxNode? _child1; 85internal WithTwoChildren(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) 90internal override SyntaxNode? GetNodeSlot(int index) 98internal override SyntaxNode? GetCachedSlot(int index) 109private SyntaxNode? _child0; 110private SyntaxNode? _child1; 111private SyntaxNode? _child2; 113internal WithThreeChildren(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) 118internal override SyntaxNode? GetNodeSlot(int index) 127internal override SyntaxNode? GetCachedSlot(int index) 139private readonly ArrayElement<SyntaxNode?>[] _children; 141internal WithManyChildren(InternalSyntax.SyntaxList green, SyntaxNode parent, int position) 144_children = new ArrayElement<SyntaxNode?>[green.SlotCount]; 147internal override SyntaxNode? GetNodeSlot(int index) 150internal override SyntaxNode? GetCachedSlot(int index)
Language\Syntax\SyntaxList`1.cs (9)
15internal readonly partial struct SyntaxList<TNode>(SyntaxNode? node) : IReadOnlyList<TNode>, IEquatable<SyntaxList<TNode>> 16where TNode : SyntaxNode 20internal SyntaxNode? Node { get; } = node; 27: this((SyntaxNode?)node) 41private static SyntaxNode? CreateRedListNode(ReadOnlySpan<TNode> nodes) 54private static SyntaxNode? CreateRedListNode(IEnumerable<TNode> nodes) 96private SyntaxNode? ItemInternal(int index) 508public static implicit operator SyntaxList<TNode>(SyntaxList<SyntaxNode> nodes) 511public static implicit operator SyntaxList<SyntaxNode>(SyntaxList<TNode> nodes)
Language\Syntax\SyntaxList`1.Enumerator.cs (1)
11where TNode : SyntaxNode
Language\Syntax\SyntaxNavigator.cs (6)
22internal static SyntaxToken GetFirstToken(SyntaxNode current, bool includeZeroWidth) 27internal static SyntaxToken GetLastToken(SyntaxNode current, bool includeZeroWidth) 42internal static SyntaxToken GetFirstToken(SyntaxNode current, Func<SyntaxToken, bool>? predicate) 86internal static SyntaxToken GetLastToken(SyntaxNode current, Func<SyntaxToken, bool> predicate) 173internal static SyntaxToken GetNextToken(SyntaxNode node, Func<SyntaxToken, bool>? predicate) 257internal static SyntaxToken GetPreviousToken(SyntaxNode node, Func<SyntaxToken, bool> predicate)
Language\Syntax\SyntaxNode.cs (49)
15internal abstract partial class SyntaxNode(GreenNode green, SyntaxNode parent, int position) 18public SyntaxNode Parent { get; } = parent; 41internal abstract SyntaxNode? GetNodeSlot(int index); 43internal abstract SyntaxNode? GetCachedSlot(int index); 45internal SyntaxNode? GetRed(ref SyntaxNode? field, int slot) 47var result = field; 63internal SyntaxNode? GetRedAtZero(ref SyntaxNode? field) 65var result = field; 81where T : SyntaxNode 100where T : SyntaxNode 117internal SyntaxNode? GetRedElement(ref SyntaxNode? element, int slot) 121var result = element; 165var prevSibling = GetCachedSlot(index); 224public IEnumerable<SyntaxNode> ChildNodes() 252public IEnumerable<SyntaxNode> Ancestors() 258public IEnumerable<SyntaxNode> AncestorsAndSelf() 260for (var node = this; node != null; node = node.Parent) 270where TNode : SyntaxNode 272for (var node = this; node != null; node = node.Parent) 287public IEnumerable<SyntaxNode> DescendantNodes(Func<SyntaxNode, bool>? descendIntoChildren = null) 297public IEnumerable<SyntaxNode> DescendantNodes(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null) 306public IEnumerable<SyntaxNode> DescendantNodesAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null) 316public IEnumerable<SyntaxNode> DescendantNodesAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null) 325public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(Func<SyntaxNode, bool>? descendIntoChildren = null) 335public IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null) 344public IEnumerable<SyntaxNodeOrToken> DescendandNodesAndTokensAndSelf(Func<SyntaxNode, bool>? descendIntoChildren = null) 353public IEnumerable<SyntaxNodeOrToken> DescendandNodesAndTokensAndSelf(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null) 361public IEnumerable<SyntaxToken> DescendantTokens(Func<SyntaxNode, bool>? descendIntoChildren = null) 371public IEnumerable<SyntaxToken> DescendantTokens(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren = null) 378protected internal abstract SyntaxNode ReplaceCore<TNode>( 380Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 383where TNode : SyntaxNode; 385protected internal abstract SyntaxNode ReplaceNodeInListCore(SyntaxNode originalNode, IEnumerable<SyntaxNode> replacementNodes); 386protected internal abstract SyntaxNode InsertNodesInListCore(SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore); 387protected internal abstract SyntaxNode ReplaceTokenInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens); 388protected internal abstract SyntaxNode InsertTokensInListCore(SyntaxToken originalToken, IEnumerable<SyntaxToken> newTokens, bool insertBefore); 395public bool IsEquivalentTo(SyntaxNode other) 451var node = curNode.AsNode();
Language\Syntax\SyntaxNode.Iterators.cs (11)
15private IEnumerable<SyntaxNode> DescendantNodesImpl(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool includeSelf) 26var node = stack.TryGetNextAsNodeInSpan(in span); 39private IEnumerable<SyntaxNodeOrToken> DescendantNodesAndTokensImpl(TextSpan span, Func<SyntaxNode, bool>? descendIntoChildren, bool includeSelf) 102public ChildSyntaxListEnumeratorStack(SyntaxNode startingNode, Func<SyntaxNode, bool>? descendIntoChildren) 135public SyntaxNode? TryGetNextAsNodeInSpan(in TextSpan span) 139SyntaxNode? nodeValue; 152public void PushChildren(SyntaxNode node) 165public void PushChildren(SyntaxNode node, Func<SyntaxNode, bool>? descendIntoChildren)
Language\Syntax\SyntaxNodeExtensions.cs (31)
15public static TNode WithDiagnostics<TNode>(this TNode node, params RazorDiagnostic[] diagnostics) where TNode : SyntaxNode 20public static TNode AppendDiagnostic<TNode>(this TNode node, params ReadOnlySpan<RazorDiagnostic> diagnostics) where TNode : SyntaxNode 37where TNode : SyntaxNode 48public static SourceLocation GetSourceLocation(this SyntaxNode node, RazorSourceDocument source) 118public static SourceSpan GetSourceSpan(this SyntaxNode node, RazorSourceDocument source) 145IEnumerable<SyntaxNode> nodes, 146Func<SyntaxNode, SyntaxNode, SyntaxNode> computeReplacementNode, 149where TRoot : SyntaxNode 166public static TRoot ReplaceNodes<TRoot, TNode>(this TRoot root, IEnumerable<TNode> nodes, Func<TNode, TNode, SyntaxNode> computeReplacementNode) 167where TRoot : SyntaxNode 168where TNode : SyntaxNode 180public static TRoot ReplaceNode<TRoot>(this TRoot root, SyntaxNode oldNode, SyntaxNode newNode) 181where TRoot : SyntaxNode 198public static TRoot ReplaceNode<TRoot>(this TRoot root, SyntaxNode oldNode, IEnumerable<SyntaxNode> newNodes) 199where TRoot : SyntaxNode 214where TRoot : SyntaxNode 216return (TRoot)root.ReplaceCore<SyntaxNode>(tokens: tokens, computeReplacementToken: computeReplacementToken); 228where TRoot : SyntaxNode 230return (TRoot)root.ReplaceCore<SyntaxNode>(tokens: [oldToken], computeReplacementToken: (o, r) => newToken); 240public static TRoot InsertNodesBefore<TRoot>(this TRoot root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> newNodes) 241where TRoot : SyntaxNode 253public static TRoot InsertNodesAfter<TRoot>(this TRoot root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> newNodes) 254where TRoot : SyntaxNode 259public static string GetContent<TNode>(this TNode node) where TNode : SyntaxNode 268public override void Visit(SyntaxNode node)
Language\Syntax\SyntaxNodeOrToken.cs (9)
18private readonly SyntaxNode? _nodeOrParent; 32internal SyntaxNodeOrToken(SyntaxNode node) 41internal SyntaxNodeOrToken(SyntaxNode? parent, GreenNode? token, int position, int index) 71public SyntaxNode? Parent => _token != null ? _nodeOrParent : _nodeOrParent?.Parent; 131public SyntaxNode? AsNode() 136internal bool AsNode([NotNullWhen(true)] out SyntaxNode? node) 153if (AsNode(out var node)) 360public static implicit operator SyntaxNodeOrToken(SyntaxNode? node) 376public static explicit operator SyntaxNode?(SyntaxNodeOrToken nodeOrToken)
Language\Syntax\SyntaxReplacer.cs (39)
14internal static SyntaxNode Replace<TNode>( 15SyntaxNode root, 17Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 20where TNode : SyntaxNode 36IEnumerable<SyntaxNode>? nodes = null, 37Func<SyntaxNode, SyntaxNode, SyntaxNode>? computeReplacementNode = null, 41var replacer = new Replacer<SyntaxNode>(nodes, computeReplacementNode, tokens, computeReplacementToken); 53private sealed class Replacer<TNode> : SyntaxRewriter where TNode : SyntaxNode 55private static readonly HashSet<SyntaxNode> s_noNodes = []; 58private readonly Func<TNode, TNode, SyntaxNode>? _computeReplacementNode; 61private readonly HashSet<SyntaxNode> _nodeSet; 69Func<TNode, TNode, SyntaxNode>? computeReplacementNode = null, 88foreach (var node in _nodeSet) 144public override SyntaxNode? Visit(SyntaxNode? node) 146var rewritten = node; 200internal static SyntaxNode ReplaceNodeInList(SyntaxNode root, SyntaxNode originalNode, IEnumerable<SyntaxNode> newNodes) 205internal static SyntaxNode InsertNodeInList(SyntaxNode root, SyntaxNode nodeInList, IEnumerable<SyntaxNode> nodesToInsert, bool insertBefore) 210public static SyntaxNode ReplaceTokenInList(SyntaxNode root, SyntaxToken tokenInList, IEnumerable<SyntaxToken> newTokens) 215public static SyntaxNode InsertTokenInList(SyntaxNode root, SyntaxToken tokenInList, IEnumerable<SyntaxToken> newTokens, bool insertBefore) 252public override SyntaxNode? Visit(SyntaxNode? node) 254SyntaxNode? rewritten = node; 270private readonly SyntaxNode _originalNode; 271private readonly IEnumerable<SyntaxNode> _newNodes; 274SyntaxNode originalNode, 275IEnumerable<SyntaxNode> replacementNodes, 284public override SyntaxNode? Visit(SyntaxNode? node)
Language\Syntax\SyntaxRewriter.cs (4)
10internal abstract partial class SyntaxRewriter : SyntaxVisitor<SyntaxNode> 15public override SyntaxNode? Visit(SyntaxNode? node) 25var result = ((RazorSyntaxNode)node).Accept(this);
Language\Syntax\SyntaxSerializer.cs (5)
23public sealed override void Visit(SyntaxNode? node) 44private void WriteNode(SyntaxNode node) 170private void WriteChunkGenerator(SyntaxNode node) 179protected virtual void WriteSpanEditHandlers(SyntaxNode node) 227private static bool ShouldDisplayNodeContent(SyntaxNode node)
Language\Syntax\SyntaxToken.cs (2)
19public SyntaxNode? Parent { get; } 24internal SyntaxToken(SyntaxNode? parent, GreenNode? token, int position, int index)
Language\Syntax\SyntaxTokenList.cs (2)
27private readonly SyntaxNode? _parent; 30internal SyntaxTokenList(SyntaxNode? parent, GreenNode? tokenOrList, int position, int index)
Language\Syntax\SyntaxTokenList.Enumerator.cs (1)
40private readonly SyntaxNode? _parent;
Language\Syntax\SyntaxTokenList.Reversed.cs (1)
40private readonly SyntaxNode? _parent;
Language\Syntax\SyntaxUtilities.cs (2)
87SyntaxNode? parent = null; 141var markupTransition = InternalSyntax.SyntaxFactory
Language\Syntax\SyntaxVisitor.cs (4)
18public virtual TResult? Visit(SyntaxNode? node) 31protected virtual TResult? DefaultVisit(SyntaxNode node) 46public virtual void Visit(SyntaxNode? node) 57public virtual void DefaultVisit(SyntaxNode node)
Language\Syntax\SyntaxWalker.cs (4)
9/// Represents a <see cref="SyntaxVisitor"/> that descends an entire <see cref="SyntaxNode"/> graph 11/// An optional range can be passed in which reduces the <see cref="SyntaxNode"/>s and <see cref="SyntaxToken"/>s 18public override void Visit(SyntaxNode? node) 34public override void DefaultVisit(SyntaxNode node)
Microsoft.CodeAnalysis.Razor.Workspaces (284)
AutoInsert\AutoClosingTagOnAutoInsertProvider.cs (4)
12using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 93var syntaxRoot = codeDocument.GetRequiredSyntaxRoot(); 193private static bool CouldAutoCloseParentOrSelf(string currentTagName, RazorSyntaxNode node) 198RazorSyntaxNode? endTag = null;
AutoInsert\CloseTextTagOnAutoInsertProvider.cs (1)
49var syntaxRoot = codeDocument.GetRequiredSyntaxRoot();
CodeActions\CSharp\CSharpCodeActionProvider.cs (2)
65var root = context.CodeDocument.GetRequiredSyntaxRoot(); 66var node = root.FindInnermostNode(context.StartAbsoluteIndex);
CodeActions\CSharp\TypeAccessibilityCodeActionProvider.cs (7)
25using SyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 167if (!TryGetOwner(context, out var owner)) 211static bool TryGetOwner(RazorCodeActionContext context, [NotNullWhen(true)] out SyntaxNode? owner) 213if (!context.CodeDocument.TryGetSyntaxRoot(out var root)) 229static bool IsImplicitExpressionNode(SyntaxNode owner) 238static bool IsExplicitExpressionNode(SyntaxNode owner) 247static bool IsSingleLineDirectiveNode(SyntaxNode owner)
CodeActions\Razor\ComponentAccessibilityCodeActionProvider.cs (1)
33var node = context.CodeDocument.GetRequiredSyntaxRoot().FindInnermostNode(context.StartAbsoluteIndex);
CodeActions\Razor\CreateComponentCodeActionResolver.cs (1)
57var syntaxRoot = codeDocument.GetRequiredSyntaxRoot();
CodeActions\Razor\ExtractToCodeBehindCodeActionProvider.cs (2)
39if (!context.CodeDocument.TryGetSyntaxRoot(out var root)) 44var owner = root.FindInnermostNode(context.StartAbsoluteIndex);
CodeActions\Razor\ExtractToComponentCodeActionProvider.cs (22)
18using SyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 87private static (SyntaxNode? Start, SyntaxNode? End) GetStartAndEndElements(RazorCodeActionContext context, RazorSyntaxTree syntaxTree) 89var owner = syntaxTree.Root.FindInnermostNode(context.StartAbsoluteIndex, includeWhitespace: !context.HasSelection); 103var startElementNode = GetBlockOrTextNode(owner); 109var endElementNode = context.HasSelection 116private static SyntaxNode? GetEndElementNode(RazorCodeActionContext context, RazorSyntaxTree syntaxTree) 118var endOwner = syntaxTree.Root.FindInnermostNode(context.EndAbsoluteIndex, includeWhitespace: false); 127private static SyntaxNode? GetBlockOrTextNode(SyntaxNode node) 129var blockNode = node.FirstAncestorOrSelf<SyntaxNode>(IsBlockNode); 147private TextSpan? TryGetSpanFromNodes(SyntaxNode startNode, SyntaxNode endNode, RazorCodeActionContext context) 181private static TextSpan? GetEncompassingTextSpan(SyntaxNode startNode, SyntaxNode endNode) 185var commonAncestor = endNode.Span.Contains(startNode.Span) 191commonAncestor = commonAncestor.FirstAncestorOrSelf<SyntaxNode>(IsBlockOrMarkupBlockNode); 254private static bool AreSiblings(SyntaxNode? node1, SyntaxNode? node2) 282private static bool IsBlockNode(SyntaxNode node) 288private static bool IsBlockOrMarkupBlockNode(SyntaxNode node)
CodeActions\Razor\ExtractToCssCodeActionProvider.cs (2)
37if (!context.CodeDocument.TryGetSyntaxRoot(out var root)) 42var owner = root.FindInnermostNode(context.StartAbsoluteIndex);
CodeActions\Razor\GenerateEventHandlerCodeActionProvider.cs (5)
20using SyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 31var syntaxRoot = context.CodeDocument.GetRequiredSyntaxRoot(); 32var owner = syntaxRoot.FindToken(context.StartAbsoluteIndex).Parent.AssumeNotNull(); 59SyntaxNode owner, 81var commonParent = owner.Kind == SyntaxKind.CSharpExpressionLiteral ? owner.Parent.Parent : owner.Parent;
CodeActions\Razor\PromoteUsingCodeActionProvider.cs (2)
28if (!context.CodeDocument.TryGetSyntaxRoot(out var root)) 33var owner = root.FindNode(TextSpan.FromBounds(context.StartAbsoluteIndex, context.EndAbsoluteIndex));
CodeActions\Razor\RemoveUnnecessaryDirectivesCodeActionProvider.cs (1)
35var root = tree.Root;
CodeActions\Razor\SimplifyFullyQualifiedComponentCodeActionProvider.cs (2)
36if (!context.CodeDocument.TryGetSyntaxRoot(out var syntaxRoot)) 42var owner = syntaxRoot.FindInnermostNode(context.StartAbsoluteIndex, includeWhitespace: true) switch
CodeActions\Razor\SortAndConsolidateUsingsCodeActionProvider.cs (1)
20if (!context.CodeDocument.TryGetSyntaxRoot(out var root))
CodeActions\Razor\UnboundDirectiveAttributeAddUsingCodeActionProvider.cs (2)
33if (!context.CodeDocument.TryGetSyntaxRoot(out var syntaxRoot)) 39var owner = syntaxRoot.FindInnermostNode(context.StartAbsoluteIndex, includeWhitespace: false);
CodeActions\Razor\WrapAttributesCodeActionProvider.cs (4)
27if (!context.CodeDocument.TryGetSyntaxRoot(out var root)) 32var owner = root.FindNode(TextSpan.FromBounds(context.StartAbsoluteIndex, context.EndAbsoluteIndex)); 97private static AspNetCore.Razor.Language.Syntax.SyntaxList<RazorSyntaxNode> FindAttributes(AspNetCore.Razor.Language.Syntax.SyntaxNode? owner) 115foreach (var node in owner.AncestorsAndSelf())
Completion\AbstractRazorCompletionFactsService.cs (3)
16using SyntaxNode = AspNetCore.Razor.Language.Syntax.SyntaxNode; 70internal static SyntaxNode? AdjustSyntaxNodeForWordBoundary(SyntaxNode? originalNode, int requestIndex)
Completion\BlazorDataAttributeCompletionItemProvider.cs (1)
40var owner = CompletionContextHelper.AdjustSyntaxNodeForCompletion(context.Owner);
Completion\CompletionContextHelper.cs (3)
5using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 16public static RazorSyntaxNode? AdjustSyntaxNodeForCompletion(RazorSyntaxNode? owner)
Completion\CSharpRazorKeywordCompletionItemProvider.cs (1)
35var owner = context.Owner;
Completion\Delegation\DelegatedCompletionHelper.cs (4)
207var root = razorCodeDocument.GetRequiredSyntaxRoot(); 220var node = token.Parent; 243static bool IsInScriptOrStyleOrHtmlComment(AspNetCore.Razor.Language.Syntax.SyntaxNode? initialNode) 245for (var node = initialNode; node != null; node = node.Parent)
Completion\Delegation\DesignTimeHelperResponseRewriter.cs (3)
11using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 39var owner = codeDocument 85private static bool StartsWithDoubleUnderscore(RazorSyntaxNode owner, SourceText sourceText)
Completion\DirectiveAttributeCompletionItemProvider.cs (3)
15using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 33var owner = context.Owner; 83static bool InSnippetContext(RazorSyntaxNode owner, RazorCompletionOptions options)
Completion\DirectiveAttributeCompletionItemProviderBase.cs (6)
10using RazorSyntaxList = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxList<Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode>; 11using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 21RazorSyntaxNode attributeLeafOwner, 28var attribute = attributeLeafOwner.Parent; 117RazorSyntaxNode element, 144foreach (var attribute in attributes)
Completion\DirectiveAttributeEventParameterCompletionItemProvider.cs (1)
20var owner = context.Owner?.Parent;
Completion\DirectiveAttributeTransitionCompletionItemProvider.cs (2)
60var owner = context.Owner; 66var attribute = owner.Parent;
Completion\DirectiveCompletionItemProvider.cs (1)
70var owner = context.Owner;
Completion\MarkupTransitionCompletionItemProvider.cs (4)
10using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 27var owner = context.Owner; 61private static bool AtMarkupTransitionCompletionPoint(RazorSyntaxNode owner) 75foreach (var ancestor in owner.Ancestors())
Completion\RazorCompletionContext.cs (2)
5using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 12RazorSyntaxNode? Owner,
Completion\RazorCompletionListProvider.cs (1)
95var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex, includeWhitespace: true, walkMarkersBack: true);
Completion\TagHelperCompletionProvider.cs (9)
16using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 43var owner = CompletionContextHelper.AdjustSyntaxNodeForCompletion(context.Owner); 67var owner = context.Owner; 84var containingElement = owner.Parent; 93var owner = context.Owner; 114var containingElement = owner.Parent; 152static bool InOrAtEndOfAttribute(RazorSyntaxNode attributeSyntax, int absoluteIndex) 170RazorSyntaxNode containingAttribute, 268RazorSyntaxNode containingElement,
Diagnostics\RazorTranslateDiagnosticsService.cs (11)
25using SyntaxNode = AspNetCore.Razor.Language.Syntax.SyntaxNode; 157var owner = syntaxTree.Root.FindNode(sourceText.GetTextSpan(d.Range), getInnermostNodeForTie: true); 173static bool IsCsharpKind([NotNullWhen(true)] SyntaxNode? node) 195var owner = syntaxTree.FindInnermostNode(sourceText, diagnostic.Range.End); 286var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex); 301var owner = syntaxTree.FindInnermostNode(sourceText, diagnostic.Range.Start); 331var owner = syntaxTree.FindInnermostNode(sourceText, diagnostic.Range.Start); 359var owner = syntaxTree.FindInnermostNode(sourceText, diagnostic.Range.Start); 374var owner = syntaxTree.FindInnermostNode(sourceText, diagnostic.Range.Start); 415var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex); 463static bool IsNotMarkupOrCommentNode(SyntaxNode node)
Diagnostics\TaskListDiagnosticProvider.cs (2)
20var root = codeDocument.GetRequiredSyntaxRoot(); 24foreach (var node in root.DescendantNodes())
DocumentMapping\PreferHtmlInAttributeValuesDocumentPositionStrategy.cs (2)
38var syntaxRoot = codeDocument.GetRequiredSyntaxRoot(); 40var owner = syntaxRoot.FindInnermostNode(previousPosition);
DocumentMapping\RazorEditService.cs (2)
296var root = codeDocument.GetRequiredSyntaxRoot(); 314var node = root.FindNode(mappedSpan, getInnermostNodeForTie: true);
DocumentMapping\RazorEditService_UsingDirectives.cs (4)
98var root = codeDocument.GetRequiredSyntaxRoot(); 99var nodeToInsertAfter = root 327var root = codeDocument.GetRequiredSyntaxRoot(); 332foreach (var node in root.DescendantNodes())
Extensions\LspExtensions_RazorSyntaxTree.cs (1)
12public static SyntaxNode? FindInnermostNode(
Extensions\LspExtensions_SyntaxNode.cs (1)
12public static LspRange GetRange(this SyntaxNode node, RazorSourceDocument source)
Extensions\RazorCodeDocumentExtensions.CachedData.cs (1)
58foreach (var node in syntaxTree.Root.DescendantNodes())
Extensions\RazorCodeDocumentExtensions.cs (2)
19public static bool TryGetSyntaxRoot(this RazorCodeDocument codeDocument, [NotNullWhen(true)] out Syntax.SyntaxNode? result) 31public static Syntax.SyntaxNode GetRequiredSyntaxRoot(this RazorCodeDocument codeDocument)
Extensions\RazorCodeDocumentExtensions_ClassifiedSpans.cs (1)
429private void AddSpan(SyntaxNode node, SpanKind kind)
Extensions\RazorCodeDocumentExtensions_ComponentEndTag.cs (2)
22var root = codeDocument.GetRequiredSyntaxRoot(); 23var owner = root.FindInnermostNode(hostDocumentIndex, includeWhitespace: false);
Extensions\RazorSyntaxNodeExtensions.cs (38)
18private static bool IsDirective(SyntaxNode node, DirectiveDescriptor directive, [NotNullWhen(true)] out RazorDirectiveBodySyntax? body) 34internal static bool IsSectionDirective(this SyntaxNode node) 37internal static bool IsCodeBlockDirective(this SyntaxNode node) 40internal static bool IsUsingDirective(this SyntaxNode node, out SyntaxTokenList tokens) 58internal static bool IsConstrainedTypeParamDirective(this SyntaxNode node, [NotNullWhen(true)] out CSharpStatementLiteralSyntax? typeParamNode, [NotNullWhen(true)] out CSharpStatementLiteralSyntax? conditionsNode) 77internal static bool IsAttributeDirective(this SyntaxNode node, [NotNullWhen(true)] out CSharpStatementLiteralSyntax? attributeNode) 90internal static bool IsCodeDirective(this SyntaxNode node) 102internal static bool IsFunctionsDirective(this SyntaxNode node) 117internal static SyntaxNode? GetOutermostNode(this SyntaxNode owner) 119var node = owner.Parent; 125var lastNode = node; 145var parent = node.Parent; 151foreach (var child in parent.ChildNodes()) 188public static bool ContainsOnlyWhitespace(this SyntaxNode node, bool includingNewLines = true) 202public static LinePositionSpan GetLinePositionSpan(this SyntaxNode node, RazorSourceDocument sourceDocument) 229public static SyntaxNode? FindInnermostNode(this SyntaxNode node, int index, bool includeWhitespace = false, bool walkMarkersBack = true) 265public static SyntaxNode? FindNode(this SyntaxNode @this, TextSpan span, bool includeWhitespace = false, bool getInnermostNodeForTie = false) 269return ThrowHelper.ThrowArgumentOutOfRangeException<SyntaxNode?>(nameof(span)); 272var node = @this.FindToken(span.Start, includeWhitespace) 274.FirstAncestorOrSelf<SyntaxNode>(a => a.Span.Contains(span)); 291var parent = node.Parent; 311public static bool ExistsOnTarget(this SyntaxNode node, SyntaxNode target) 316var matchingNode = target.DescendantNodesAndSelf() 324public static SyntaxNode RemoveEmptyNewLines(this SyntaxNode node) 345public static bool IsCSharpNode(this SyntaxNode node, [NotNullWhen(true)] out CSharpCodeBlockSyntax? csharpCodeBlock) 353var innerCSharpNode = outerCSharpCodeBlock.ChildNodes().FirstOrDefault( 423public static bool IsAnyAttributeSyntax(this SyntaxNode node) 435public static bool TryGetLinePositionSpanWithoutWhitespace(this SyntaxNode node, RazorSourceDocument source, out LinePositionSpan linePositionSpan) 479public static bool TryGetFirstToken(this SyntaxNode node, out SyntaxToken result) 482public static bool TryGetFirstToken(this SyntaxNode node, bool includeZeroWidth, out SyntaxToken result) 488public static bool TryGetLastToken(this SyntaxNode node, out SyntaxToken result) 491public static bool TryGetLastToken(this SyntaxNode node, bool includeZeroWidth, out SyntaxToken result) 497public static TextSpan SpanWithoutTrailingNewLines(this SyntaxNode node, SourceText sourceText)
Extensions\RazorSyntaxTreeExtensions.cs (2)
49foreach (var node in syntaxTree.Root.DescendantNodes(MayContainDirectives)) 58public static bool MayContainDirectives(this SyntaxNode node)
Extensions\SyntaxListExtensions.cs (4)
11internal static SyntaxNode PreviousSiblingOrSelf(this SyntaxList<RazorSyntaxNode> syntaxList, RazorSyntaxNode syntaxNode) 18-1 => ThrowHelper.ThrowInvalidOperationException<SyntaxNode>("The provided node was not in the SyntaxList"), 23internal static SyntaxNode NextSiblingOrSelf(this SyntaxList<RazorSyntaxNode> syntaxList, RazorSyntaxNode syntaxNode) 30-1 => ThrowHelper.ThrowInvalidOperationException<SyntaxNode>("The provided node was not in the SyntaxList"),
Formatting\FormattingVisitor.cs (1)
582private void AddSpan(SyntaxNode node, FormattingSpanKind kind)
Formatting\Passes\CSharpFormattingPass.CSharpDocumentGenerator.cs (20)
19using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 200var root = _codeDocument.GetRequiredSyntaxRoot(); 229var node = root.FindInnermostNode(originalSpan.AbsoluteIndex); 267private void AddAdditionalLineFormattingContent(StringBuilder additionalLinesBuilder, RazorSyntaxNode node, SourceSpan originalSpan) 296public override LineInfo Visit(RazorSyntaxNode? node) 307protected override LineInfo DefaultVisit(RazorSyntaxNode node) 343var previousTokenParent = _previousCurrentToken.Parent; 378var potentialExplicitExpression = node.Parent.Parent; 426var attributeNode = node.Ancestors().FirstOrDefault(n => n.IsAnyAttributeSyntax()) 477private LineInfo VisitCSharpLiteral(RazorSyntaxNode node, RazorSyntaxToken lastToken) 734private LineInfo? TryVisitAttribute(RazorSyntaxNode node) 922private LineInfo VisitCSharpCodeBlock(RazorSyntaxNode node, CSharpCodeBlockSyntax csharpCode) 1083private LineInfo VisitTypeParamDirective(RazorSyntaxNode typeParam, RazorSyntaxNode conditions) 1100private LineInfo VisitAttributeDirective(RazorSyntaxNode attribute) 1115private int GetLineNumber(RazorSyntaxNode node) 1206private bool TryGetMultilineTemplateClosure(RazorSyntaxNode node, out bool appendSemicolon) 1226private static CSharpTemplateBlockSyntax? GetContainingTemplate(RazorSyntaxNode node) 1228for (var current = node; current is not null; current = current.Parent as RazorSyntaxNode)
Formatting\Passes\CSharpOnTypeFormattingPass.cs (12)
28using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 337out var owner)) 491if (!ShouldFormat(context, endSpan, allowImplicitStatements: false, out var owner)) 545private static bool IsOnSingleLine(RazorSyntaxNode node, SourceText text) 592if (!ShouldFormat(context, mappingSpan, options, out var owner)) 624if (!ShouldFormat(context, lineStartSpan, allowImplicitStatements: true, out var owner)) 688var root = context.CodeDocument.GetRequiredSyntaxRoot(); 703var scopeOwner = root.FindInnermostNode(originalLocation); 854private static bool ShouldFormat(FormattingContext context, TextSpan mappingSpan, bool allowImplicitStatements, out RazorSyntaxNode? foundOwner) 860private static bool ShouldFormat(FormattingContext context, TextSpan mappingSpan, ShouldFormatOptions options, out RazorSyntaxNode? foundOwner) 871var root = context.CodeDocument.GetRequiredSyntaxRoot(); 872var owner = root.FindInnermostNode(mappingSpan.Start, includeWhitespace: true);
Formatting\Passes\HtmlFormattingPass.cs (2)
267var syntaxRoot = codeDocument.GetRequiredSyntaxRoot(); 272foreach (var node in syntaxRoot.DescendantNodes())
Formatting\Passes\HtmlOnTypeFormattingPass.cs (3)
60var root = context.CodeDocument.GetRequiredSyntaxRoot(); 198var root = context.CodeDocument.GetRequiredSyntaxRoot(); 199var owner = root.FindInnermostNode(position, includeWhitespace: true);
Formatting\Passes\RazorFormattingPass.cs (23)
19using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 20using RazorSyntaxNodeList = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxList<Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode>; 60foreach (var node in syntaxTree.Root.DescendantNodes()) 72private static void TryFormatBlocks(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 82private static bool TryFormatSectionBlock(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 137private static bool TryFormatFunctionsBlock(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 178private static bool TryFormatCSharpExplicitTransition(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 200private static bool TryFormatComplexCSharpBlock(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 213var openBraceNode = outerCodeBlock.Children.PreviousSiblingOrSelf(innerCodeBlock); 214var closeBraceNode = outerCodeBlock.Children.NextSiblingOrSelf(innerCodeBlock); 222private static bool TryFormatHtmlInCSharp(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 231var openBraceNode = csharpCodeBlock.Children.PreviousSiblingOrSelf(markupBlockNode); 232var closeBraceNode = csharpCodeBlock.Children.NextSiblingOrSelf(markupBlockNode); 240private static void TryFormatCSharpBlockStructure(FormattingContext context, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, RazorSyntaxNode node) 298private static void TryFormatSingleLineDirective(ref PooledArrayBuilder<TextChange> changes, RazorSyntaxNode node) 314foreach (var child in children) 333static bool IsSingleLineDirective(RazorSyntaxNode node, out RazorSyntaxNodeList children) 349private static void FormatWhitespaceBetweenDirectiveAndBrace(RazorSyntaxNode node, RazorDirectiveSyntax directive, ref PooledArrayBuilder<TextChange> changes, RazorSourceDocument source, FormattingContext context, bool forceNewLine) 374private static bool FormatBlock(FormattingContext context, RazorSourceDocument source, RazorSyntaxNode? directiveNode, RazorSyntaxNode openBraceNode, RazorSyntaxNode codeNode, RazorSyntaxNode closeBraceNode, ref PooledArrayBuilder<TextChange> changes) 475private static bool IsCodeOrFunctionsBlock(RazorSyntaxNode keyword)
Formatting\UsingDirectiveHelper.cs (7)
21using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 157var root = codeDocument.GetRequiredSyntaxRoot(); 158var lastNamespaceOrPageDirective = root 185var root = codeDocument.GetRequiredSyntaxRoot(); 186foreach (var node in root.DescendantNodes()) 190foreach (var child in directiveNode.DescendantNodes()) 201private static bool IsNamespaceOrPageDirective(RazorSyntaxNode node)
GoToDefinition\RazorComponentDefinitionHelpers.cs (7)
19using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 40var root = codeDocument.GetRequiredSyntaxRoot(); 42var innermostNode = root.FindInnermostNode(absoluteIndex); 49var tagHelperNode = innermostNode.FirstAncestorOrSelf<RazorSyntaxNode>(IsTagHelperNode); 137static bool IsTagHelperNode(RazorSyntaxNode node) 142static bool TryGetTagName(RazorSyntaxNode node, out RazorSyntaxToken tagName)
Hover\HoverFactory.cs (3)
33var root = codeDocument.GetRequiredSyntaxRoot(); 35var owner = root.FindInnermostNode(absoluteIndex); 106var containingTag = containingTagNameToken.Parent.AssumeNotNull();
HtmlFacts.cs (2)
171SyntaxNode element, 211SyntaxNode attribute,
LinkedEditingRange\LinkedEditingRangeHelper.cs (1)
49var owner = syntaxTree.Root.FindInnermostNode(location.AbsoluteIndex);
RazorSyntaxFacts.cs (14)
11using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 26var root = codeDocument.GetRequiredSyntaxRoot(); 27var owner = root.FindInnermostNode(absoluteIndex); 79var root = codeDocument.GetRequiredSyntaxRoot(); 80var owner = root.FindInnermostNode(absoluteIndex); 87public static TextSpan GetFullAttributeNameSpan(RazorSyntaxNode? node) 159public static CSharpCodeBlockSyntax? TryGetCSharpCodeFromCodeBlock(RazorSyntaxNode node) 172public static bool IsAnyStartTag(RazorSyntaxNode n) 175public static bool IsAnyEndTag(RazorSyntaxNode n) 178public static bool IsInCodeBlock(RazorSyntaxNode n) 179=> n.FirstAncestorOrSelf<RazorSyntaxNode>(static n => n is RazorDirectiveSyntax { DirectiveDescriptor.Directive: "code" }) is not null; 183foreach (var child in directiveNode.DescendantNodes()) 196internal static bool IsInUsingDirective(RazorSyntaxNode node) 214internal static bool IsAttributeName(RazorSyntaxNode node, [NotNullWhen(true)] out BaseMarkupStartTagSyntax? startTag)
Rename\RenameService.cs (3)
19using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 154var owner = codeDocument.GetRequiredSyntaxRoot().FindInnermostNode(absoluteIndex); 183private static bool TryGetTagHelperBinding(RazorSyntaxNode owner, int absoluteIndex, [NotNullWhen(true)] out TagHelperBinding? binding)
SemanticTokens\SemanticTokensVisitor.cs (5)
53public override void Visit(SyntaxNode? node) 473private int GetElementSemanticKind(SyntaxNode node) 481private int GetAttributeSemanticKind(SyntaxNode node) 489private static bool IsComponent(SyntaxNode node) 537private void AddSemanticRange(SyntaxNode node, int semanticKind)
SpellCheck\SpellCheckService.cs (1)
52foreach (var node in syntaxTree.Root.DescendantNodes(static n => n is not BaseMarkupElementSyntax element || !RazorSyntaxFacts.IsScriptOrStyleBlock(element)))
TagHelperFacts.cs (2)
195public static (string? ancestorTagName, bool ancestorIsTagHelper) GetNearestAncestorTagInfo(IEnumerable<SyntaxNode> ancestors) 197foreach (var ancestor in ancestors)
Utilities\WrapWithTagHelper.cs (2)
83var root = codeDocument.GetRequiredSyntaxRoot(); 84var node = root.FindNode(requestSpan, includeWhitespace: false, getInnermostNodeForTie: true);
Microsoft.CodeAnalysis.Razor.Workspaces.UnitTests (36)
Completion\BlazorDataAttributeCompletionItemProviderTest.cs (3)
131var owner = syntaxTree.Root.FindInnermostNode(testCode.Position, includeWhitespace: true, walkMarkersBack: true); 195var owner = syntaxTree.Root.FindInnermostNode(testCode.Position, includeWhitespace: true, walkMarkersBack: true); 229var owner = syntaxTree.Root.FindInnermostNode(testCode.Position, includeWhitespace: true, walkMarkersBack: true);
Completion\CSharpRazorKeywordCompletionItemProviderTests.cs (1)
116var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex);
Completion\DirectiveAttributeCompletionItemProviderBaseTest.cs (17)
11using RazorSyntaxNode = Microsoft.AspNetCore.Razor.Language.Syntax.SyntaxNode; 24var node = GetNode($"@Dat$$eTime.Now"); 37var node = GetNode("<p $$ >"); 50var node = GetNode("<p b$$in>"); 67var node = GetNode("<p @$$>"); 84var node = GetNode("<p f$$oo=\"anything\">"); 100var node = GetNode($"<input type=\"text\" @bi$$nd />"); 116var node = GetNode(@"<input type=""text"" @bi$$nd=""@CurrentDate"" /> 135var node = GetNode(@"<input type=""text"" @bi$$nd:format=""MM/dd/yyyy"" @bind=""@CurrentDate"" /> 156var node = GetNode("<p$$ class='hello @DateTime.Now'>"); 172var node = GetNode(@"<i$$nput type=""text"" @bind=""@CurrentDate"" /> 190var node = GetNode("<p$$>"); 204var node = GetNode("<p$$ class='hello @DateTime.Now'>"); 219var node = GetNode(@"<i$$nput type=""text"" @bind:format=""MM/dd/yyyy"" something @bind=""@CurrentDate"" /> 232private RazorSyntaxNode GetNode(TestCode testCode) 236var root = result.CodeDocument.GetRequiredSyntaxRoot(); 237var owner = root.FindInnermostNode(index, includeWhitespace: true, walkMarkersBack: true);
Completion\DirectiveAttributeCompletionItemProviderTest.AttributeNames.cs (1)
407var owner = syntaxTree.Root.FindInnermostNode(testCode.Position, includeWhitespace: true, walkMarkersBack: true);
Completion\DirectiveAttributeEventParameterCompletionItemProviderTest.cs (1)
212var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex);
Completion\DirectiveAttributeTransitionCompletionItemProviderTest.cs (1)
349var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex, includeWhitespace: true, walkMarkersBack: true);
Completion\DirectiveCompletionItemProviderTest.cs (1)
430var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex);
Completion\MarkupTransitionCompletionItemProviderTest.cs (1)
304var owner = syntaxTree.Root.FindInnermostNode(absoluteIndex, includeWhitespace: true, walkMarkersBack: true);
FindNodeTests.cs (1)
255var node = syntaxTree.Root.FindNode(TextSpan.FromBounds(start, end), includeWhitespace, innermostForTie);
TagHelperFactsServiceTest.cs (9)
24var root = codeDocument.GetRequiredSyntaxRoot(); 45var root = codeDocument.GetRequiredSyntaxRoot(); 66var root = codeDocument.GetRequiredSyntaxRoot(); 87var root = codeDocument.GetRequiredSyntaxRoot(); 120var root = codeDocument.GetRequiredSyntaxRoot(); 153var root = codeDocument.GetRequiredSyntaxRoot(); 177var root = codeDocument.GetRequiredSyntaxRoot(); 201var root = codeDocument.GetRequiredSyntaxRoot(); 225var root = codeDocument.GetRequiredSyntaxRoot();
Microsoft.CodeAnalysis.Remote.Razor (5)
Debugging\RemoteDebugInfoService.cs (1)
120var syntaxRoot = codeDocument.GetRequiredSyntaxRoot();
DevTools\RemoteDevToolsService.cs (2)
17using SyntaxNode = AspNetCore.Razor.Language.Syntax.SyntaxNode; 191private static SyntaxVisualizerNode ConvertSyntaxNode(SyntaxNode node)
InlayHints\RemoteInlayHintService.cs (2)
66var root = codeDocument.GetRequiredSyntaxRoot(); 85var node = root.FindInnermostNode(hostDocumentIndex);