23 references to BackreferenceConditional
System.Text.RegularExpressions.Generator (23)
parent\src\System\Text\RegularExpressions\RegexNode.cs (9)
545if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 559case RegexNodeKind.BackreferenceConditional: 646RegexNodeKind.BackreferenceConditional => ReduceBackreferenceConditional(), 2196case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional: 2229if (Kind is RegexNodeKind.NegativeLookaround && ContainsKind(Child(0), [RegexNodeKind.Backreference, RegexNodeKind.BackreferenceConditional]) is false) 2341Debug.Assert(Kind == RegexNodeKind.BackreferenceConditional); 2883case RegexNodeKind.BackreferenceConditional: 3010case RegexNodeKind.BackreferenceConditional: 3014int i = Kind == RegexNodeKind.BackreferenceConditional ? 0 : 1;
parent\src\System\Text\RegularExpressions\RegexParser.cs (5)
1029return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, capnum); 1043return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, tmpCapnum); 2253if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2268if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2272if (_group.Kind == RegexNodeKind.BackreferenceConditional && _group.ChildCount() > 2 || _group.ChildCount() > 3)
parent\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (2)
1102case RegexNodeKind.BackreferenceConditional: 1104int branchStart = node.Kind is RegexNodeKind.BackreferenceConditional ? 0 : 1;
parent\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
94RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional => true,
RegexGenerator.Emitter.cs (6)
2274Debug.Assert(node.Kind is RegexNodeKind.BackreferenceConditional, $"Unexpected type: {node.Kind}"); 2996case RegexNodeKind.BackreferenceConditional: 5619RegexNodeKind.BackreferenceConditional => $"Conditionally match one of two expressions depending on whether the {DescribeCapture(node.M, rm)} matched.", 5771RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 5791RegexNodeKind.BackreferenceConditional when node.Parent.Child(0) == node => "Matched: ", 5792RegexNodeKind.BackreferenceConditional when node.Parent.Child(1) == node => "Not Matched: ",