168 references to Parent
Microsoft.CodeAnalysis.Razor.Compiler (42)
Language\DefaultRazorIntermediateNodeLoweringPhase.cs (12)
686var descendantNodes = node.DescendantNodes(static n => n.Parent is not CSharpCodeBlockSyntax); 786var markupLiteral = SyntaxFactory.MarkupTextLiteral(node.LiteralTokens).Green.CreateRed(node.Parent, node.Position); 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); 1269var mergedAttribute = SyntaxFactory.MarkupTextLiteral(mergedLiterals).Green.CreateRed(node.Parent, node.Position); 1347rewritten = SyntaxFactory.MarkupTextLiteral(mergedTokens.ToList()).Green.CreateRed(value.Parent, atLiteral.Position); 1352rewritten = SyntaxFactory.MarkupTextLiteral(atLiteral.LiteralTokens).Green.CreateRed(value.Parent, atLiteral.Position); 1397var fallbackLiteral = (MarkupTextLiteralSyntax)SyntaxFactory.MarkupTextLiteral(fallbackTokens).Green.CreateRed(node.Parent, node.Position); 1433var literal = SyntaxFactory.MarkupTextLiteral(literals).Green.CreateRed(node.Parent, node.Position); 1822var rewritten = SyntaxFactory.MarkupTextLiteral(mergedTokens.ToList()).Green.CreateRed(node.Value.Parent, atPosition);
Language\Legacy\ClassifiedSpanVisitor.cs (2)
76if (node.Parent is CSharpStatementBodySyntax or 342if (node.Parent is MarkupLiteralAttributeValueSyntax)
Language\Legacy\LegacySyntaxNodeExtensions.cs (4)
267var parent = node.Parent; 281parent = parent.Parent; 304var parent = node.Parent; 318parent = parent.Parent;
Language\Legacy\SpanEditHandler.cs (7)
100RazorMetaCodeSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.RazorMetaCode(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 101MarkupTextLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.MarkupTextLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 102MarkupEphemeralTextLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.MarkupEphemeralTextLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 103CSharpStatementLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.CSharpStatementLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 104CSharpExpressionLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.CSharpExpressionLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 105CSharpEphemeralTextLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.CSharpEphemeralTextLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position), 106UnclassifiedTextLiteralSyntax syntax => Syntax.InternalSyntax.SyntaxFactory.UnclassifiedTextLiteral(builder.ToList(), syntax.ChunkGenerator, syntax.EditHandler).CreateRed(target.Parent, target.Position),
Language\Legacy\TagHelperParseTreeRewriter.cs (1)
679return n.Parent is MarkupElementSyntax element && element.StartTag == n;
Language\Syntax\BaseMarkupEndTagSyntax.cs (1)
105=> (Parent as BaseMarkupElementSyntax)?.StartTag;
Language\Syntax\BaseMarkupStartTagSyntax.cs (2)
13public BaseMarkupElementSyntax ParentElement => (BaseMarkupElementSyntax)Parent; 136=> (Parent as BaseMarkupElementSyntax)?.EndTag;
Language\Syntax\SyntaxNavigator.cs (6)
175while (node.Parent != null) 180foreach (var child in node.Parent.ChildNodesAndTokens()) 209node = node.Parent; 259while (node.Parent != null) 264foreach (var child in node.Parent.ChildNodesAndTokens().Reverse()) 293node = node.Parent;
Language\Syntax\SyntaxNode.cs (4)
127Interlocked.CompareExchange(ref element, green.CreateRed(Parent, GetChildPosition(slot)), null); 253=> Parent?.AncestorsAndSelf() ?? []; 260for (var node = this; node != null; node = node.Parent) 272for (var node = this; node != null; node = node.Parent)
Language\Syntax\SyntaxNodeExtensions.cs (1)
17return (TNode)node.Green.SetDiagnostics(diagnostics).CreateRed(node.Parent, node.Position);
Language\Syntax\SyntaxNodeOrToken.cs (1)
71public SyntaxNode? Parent => _token != null ? _nodeOrParent : _nodeOrParent?.Parent;
Language\Syntax\SyntaxUtilities.cs (1)
103parent = literal.Parent;
Microsoft.CodeAnalysis.Razor.Workspaces (126)
AutoInsert\AutoClosingTagOnAutoInsertProvider.cs (3)
99Parent: MarkupElementSyntax htmlElement 119Parent: MarkupTagHelperElementSyntax { TagHelperInfo.BindingResult: var binding } tagHelperElement 250node = node.Parent;
AutoInsert\CloseTextTagOnAutoInsertProvider.cs (1)
56Parent: MarkupElementSyntax { EndTag: null }
CodeActions\Razor\ComponentAccessibilityCodeActionProvider.cs (2)
209if (startTag.Parent?.Parent is BaseMarkupElementSyntax parentElement)
CodeActions\Razor\ExtractToCodeBehindCodeActionProvider.cs (4)
51var directiveNode = owner.Parent switch 55CSharpCodeBlockSyntax { Parent.Parent: RazorDirectiveSyntax d } => d, 58RazorDirectiveBodySyntax { Parent: RazorDirectiveSyntax d } => d,
CodeActions\Razor\ExtractToComponentCodeActionProvider.cs (3)
200commonAncestor = commonAncestor.Parent; 266return node1.Parent == node2.Parent;
CodeActions\Razor\ExtractToCssCodeActionProvider.cs (2)
50if (owner is MarkupTextLiteralSyntax { Parent: MarkupElementSyntax { StartTag: { } startTag } }) 62if (owner.Parent is not MarkupElementSyntax { Body: [MarkupTextLiteralSyntax textLiteral] } markupElement ||
CodeActions\Razor\GenerateEventHandlerCodeActionProvider.cs (5)
81var commonParent = owner.Kind == SyntaxKind.CSharpExpressionLiteral ? owner.Parent.Parent : owner.Parent; 84if (commonParent.Parent.Parent is not MarkupTagHelperElementSyntax { TagHelperInfo.BindingResult: var binding })
CodeActions\Razor\SimplifyFullyQualifiedComponentCodeActionProvider.cs (2)
44MarkupTagHelperStartTagSyntax ownerStartTag when ownerStartTag.Name.Span.Contains(context.StartAbsoluteIndex) => ownerStartTag.Parent, 45MarkupTagHelperEndTagSyntax endTag => endTag.Parent,
Completion\CompletionContextHelper.cs (1)
25_ => owner?.Parent
Completion\Delegation\DelegatedCompletionHelper.cs (1)
245for (var node = initialNode; node != null; node = node.Parent)
Completion\DirectiveAttributeCompletionItemProvider.cs (3)
45if (!TryGetElementInfo(owner.Parent.Parent, out var containingTagName, out var attributes)) 89&& owner.Parent is not (MarkupTagHelperDirectiveAttributeSyntax or MarkupAttributeBlockSyntax);
Completion\DirectiveAttributeCompletionItemProviderBase.cs (1)
28var attribute = attributeLeafOwner.Parent;
Completion\DirectiveAttributeEventParameterCompletionItemProvider.cs (2)
20var owner = context.Owner?.Parent; 24owner = parentValueSyntax.Parent;
Completion\DirectiveAttributeTransitionCompletionItemProvider.cs (1)
66var attribute = owner.Parent;
Completion\TagHelperCompletionProvider.cs (3)
84var containingElement = owner.Parent; 114var containingElement = owner.Parent; 177var ancestors = containingAttribute.Parent.Ancestors();
Diagnostics\RazorTranslateDiagnosticsService.cs (4)
426owner is MarkupTextLiteralSyntax { LiteralTokens: [{ Content: "\"" or "'" }], Parent: MarkupTagHelperAttributeSyntax or MarkupAttributeBlockSyntax }) 436(n.Parent is MarkupAttributeBlockSyntax block && n == block.Value) || 544syntaxTree.FindInnermostNode(codeDocument.Source.Text, originalRange.Start) is { Parent.Parent: RazorUsingDirectiveSyntax usingDirectiveSyntax })
Extensions\RazorCodeDocumentExtensions_ClassifiedSpans.cs (2)
104if (node.Parent is CSharpStatementBodySyntax or 370if (node.Parent is MarkupLiteralAttributeValueSyntax)
Extensions\RazorSyntaxNodeExtensions.cs (4)
119var node = owner.Parent; 129node = node.Parent; 145var parent = node.Parent; 291var parent = node.Parent;
FoldingRanges\RazorCSharpStatementKeywordFoldingProvider.cs (2)
32Parent: CSharpCodeBlockSyntax, 35.SelectAsArray(d => (CSharpCodeBlockSyntax)d.Parent);
Formatting\FormattingVisitor.cs (11)
58if (node.Parent is CSharpStatementBodySyntax or 61(_currentBlockKind == FormattingBlockKind.Directive && node.Parent?.Parent is RazorDirectiveBodySyntax)) 67if (node.Parent is not RazorDirectiveBodySyntax) 73node.Parent?.Parent?.Parent is RazorDirectiveSyntax directive && 90if (node.Parent is not RazorDirectiveBodySyntax) 221if (node.Parent is MarkupTagHelperElementSyntax parentComponent && 453if (node.Parent is MarkupTagHelperDirectiveAttributeSyntax { TagHelperAttributeInfo.Bound: true }) 523if (node.Parent is MarkupLiteralAttributeValueSyntax)
Formatting\Passes\CSharpFormattingPass.CSharpDocumentGenerator.cs (18)
276if (node is { Parent.Parent: MarkupTagHelperAttributeSyntax attribute } && 277attribute is { Parent.Parent: MarkupTagHelperElementSyntax element } && 378var potentialExplicitExpression = node.Parent.Parent; 427?? (previousLineStartedWithAttributeName ? previousTokenParent?.Parent : null); 428if (attributeNode?.Parent is BaseMarkupStartTagSyntax attributeStartTag) 513if (token.Parent?.Parent.Parent is CSharpTemplateBlockSyntax template && 530var emitSemiColon = node.Parent.Parent is not CSharpExplicitExpressionBodySyntax; 685Parent: CSharpExplicitExpressionBodySyntax, 712if (node.Parent is MarkupCommentBlockSyntax comment) 846if (GetLineNumber(node.Parent.GetLastToken()) == GetLineNumber(_currentToken)) 877if (node.Parent is null) 883return base.Visit(node.Parent); 1228for (var current = node; current is not null; current = current.Parent as RazorSyntaxNode)
Formatting\Passes\CSharpOnTypeFormattingPass.cs (18)
355if (owner is CSharpExpressionLiteralSyntax { Parent.Parent.Parent: CSharpExplicitExpressionSyntax explicitExpression } && 637owner.Parent is RazorDirectiveSyntax containingDirective && 711if (scopeOwner?.Parent?.Parent?.Parent is RazorDirectiveSyntax containingDirective && 972owner is CSharpStatementLiteralSyntax { Parent: CSharpCodeBlockSyntax } literal && 1005Parent: MarkupTagHelperAttributeSyntax { TagHelperAttributeInfo.Bound: true } or 1092if (owner is { Parent.Parent.Parent: CSharpExplicitExpressionSyntax explicitExpression } && 1120owner.Parent?.Parent?.Parent is RazorDirectiveSyntax directive3 && 1133owner.Parent is CSharpCodeBlockSyntax codeBlock && 1137codeBlock.Parent?.Parent is RazorDirectiveSyntax directive2 &&
Formatting\Passes\RazorFormattingPass.cs (8)
209csharpRazorBlock.Parent is CSharpCodeBlockSyntax innerCodeBlock && 210csharpRazorBlock.Parent.Parent is CSharpCodeBlockSyntax outerCodeBlock) 229markupBlockNode.Parent is CSharpCodeBlockSyntax csharpCodeBlock) 255node.Parent?.Parent is RazorDirectiveSyntax directive && 337Parent.Parent: RazorDirectiveSyntax { DirectiveDescriptor.Kind: DirectiveKind.SingleLine }
GoToDefinition\RazorComponentDefinitionHelpers.cs (1)
65if (tagHelperNode.Parent is not MarkupTagHelperElementSyntax tagHelperElement)
Hover\HoverFactory.cs (3)
47owner = owner.Parent; 157switch (attribute.Parent.Kind) 160var directiveAttribute = (MarkupTagHelperDirectiveAttributeSyntax)attribute.Parent;
HtmlFacts.cs (1)
218if (!TryGetElementInfo(attribute.Parent, out containingTagNameToken, out attributeNodes, closingForwardSlashOrCloseAngleToken: out _))
RazorSyntaxFacts.cs (7)
29var attributeName = owner?.Parent switch 49if (!GetFullAttributeNameSpan(owner.Parent).Contains(absoluteIndex)) 82attributeNameSpan = GetFullAttributeNameSpan(owner?.Parent); 218if (node.Parent.IsAnyAttributeSyntax() && 219GetFullAttributeNameSpan(node.Parent).Start == node.SpanStart) 221startTag = node.Parent.Parent as BaseMarkupStartTagSyntax;
Rename\RenameService.cs (2)
186if (owner is MarkupTagHelperEndTagSyntax { Parent: MarkupTagHelperElementSyntax { TagHelperInfo.BindingResult: var endTagBindingResult } }) 209if (tagHelperStartTag is { Parent: MarkupTagHelperElementSyntax { TagHelperInfo.BindingResult: var startTagBindingResult } })
SemanticTokens\SemanticTokensVisitor.cs (9)
299if (ClassifyTagName((MarkupTagHelperElementSyntax)node.Parent)) 331if (ClassifyTagName((MarkupTagHelperElementSyntax)node.Parent)) 450if (node.Parent is not BaseRazorDirectiveSyntax) 498return IsComponent(startTag.Parent); 502return IsComponent(endTag.Parent); 506return IsComponent(attribute.Parent.Parent); 510return IsComponent(minimizedTagHelperAttribute.Parent.Parent);
SpellCheck\SpellCheckService.cs (1)
63if (node.Parent.IsAnyAttributeSyntax())
Utilities\WrapWithTagHelper.cs (1)
85if (node?.FirstAncestorOrSelf<CSharpImplicitExpressionSyntax>() is { Parent: CSharpCodeBlockSyntax codeBlock } &&