25 references to BackreferenceConditional
System.Text.RegularExpressions.Generator (25)
RegexGenerator.Emitter.cs (6)
2272Debug.Assert(node.Kind is RegexNodeKind.BackreferenceConditional, $"Unexpected type: {node.Kind}"); 2994case RegexNodeKind.BackreferenceConditional: 5571RegexNodeKind.BackreferenceConditional => $"Conditionally match one of two expressions depending on whether the {DescribeCapture(node.M, rm)} matched.", 5723RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 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 (11)
310case RegexNodeKind.BackreferenceConditional: 498if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 512case RegexNodeKind.BackreferenceConditional: 599RegexNodeKind.BackreferenceConditional => ReduceBackreferenceConditional(), 2138case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional: 2171if (Kind is RegexNodeKind.NegativeLookaround && ContainsKind(Child(0), [RegexNodeKind.Backreference, RegexNodeKind.BackreferenceConditional]) is false) 2283Debug.Assert(Kind == RegexNodeKind.BackreferenceConditional); 2746case RegexNodeKind.BackreferenceConditional: 2873case RegexNodeKind.BackreferenceConditional: 2877int i = Kind == RegexNodeKind.BackreferenceConditional ? 0 : 1; 3337case RegexNodeKind.BackreferenceConditional:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (5)
1006return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, capnum); 1020return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, tmpCapnum); 2106if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2121if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2125if (_group.Kind == RegexNodeKind.BackreferenceConditional && _group.ChildCount() > 2 || _group.ChildCount() > 3)
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (2)
1102case RegexNodeKind.BackreferenceConditional: 1104int branchStart = node.Kind is RegexNodeKind.BackreferenceConditional ? 0 : 1;
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
94RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional => true,