13 writes to Parent
System.Text.RegularExpressions.Generator (13)
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (10)
1094atChildren[k].Parent = this; 1101atChild.Parent = this; 1750atChildren[k].Parent = this; 1757atChild.Parent = this; 3147newChild.Parent = this; // so that the child can see its parent while being reduced 3149newChild.Parent = this; // in case Reduce returns a different node that needs to be reparented 3169newChild.Parent = this; // so that the child can see its parent while being reduced 3171newChild.Parent = this; // in case Reduce returns a different node that needs to be reparented 3181newChild.Parent = this; // so that the child can see its parent while being reduced 3183newChild.Parent = this; // in case Reduce returns a different node that needs to be reparented
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (3)
2066_group!.Parent = _stack; 2067_alternation!.Parent = _group; 2068_concatenation!.Parent = _alternation;
23 references to Parent
System.Text.RegularExpressions.Generator (23)
RegexGenerator.Emitter.cs (8)
1816Debug.Assert(node.Parent is not null); 5723RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 5737string tag = node.Parent?.Kind switch 5739RegexNodeKind.ExpressionConditional when node.Parent.Child(0) == node => "Condition: ", 5740RegexNodeKind.ExpressionConditional when node.Parent.Child(1) == node => "Matched: ", 5741RegexNodeKind.ExpressionConditional when node.Parent.Child(2) == node => "Not Matched: ", 5743RegexNodeKind.BackreferenceConditional when node.Parent.Child(0) == node => "Matched: ", 5744RegexNodeKind.BackreferenceConditional when node.Parent.Child(1) == node => "Not Matched: ",
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (12)
46/// During parsing, top-level nodes are also stacked onto a parse stack (a stack of trees) using <see cref="Parent"/>. 47/// After parsing, <see cref="Parent"/> is the node in the tree that has this node as or in <see cref="Children"/>. 205if (Parent is not { Kind: RegexNodeKind.Atomic }) 256Debug.Assert(child.Parent == node, $"{child.Describe()} missing reference to parent {node.Describe()}"); 373Debug.Assert(rootNode.Parent is null); 426if (node.Parent is { Kind: RegexNodeKind.Concatenate } parent) 499node.Parent is not { Kind: RegexNodeKind.Atomic }) // validate grandparent isn't atomic 1261if (alternation.Parent is RegexNode { Kind: RegexNodeKind.Atomic }) 1465if (alternation.Parent is RegexNode parent && parent.Kind == RegexNodeKind.Atomic) 2557RegexNode? parent = subsequent.Parent; 2657node.Parent is not RegexNode parent) 3297curNode = curNode.Parent;
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (3)
2076_alternation = _concatenation!.Parent; 2077_group = _alternation!.Parent; 2078_stack = _group!.Parent;