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