24 references to BackreferenceConditional
System.Text.RegularExpressions.Generator (24)
RegexGenerator.Emitter.cs (6)
2185Debug.Assert(node.Kind is RegexNodeKind.BackreferenceConditional, $"Unexpected type: {node.Kind}"); 2927case RegexNodeKind.BackreferenceConditional: 5494RegexNodeKind.BackreferenceConditional => $"Conditionally match one of two expressions depending on whether the {DescribeCapture(node.M, rm)} matched.", 5565RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional } => true, 5585RegexNodeKind.BackreferenceConditional when node.Parent.Child(0) == node => "Matched: ", 5586RegexNodeKind.BackreferenceConditional when node.Parent.Child(1) == node => "Not Matched: ",
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (10)
270case RegexNodeKind.BackreferenceConditional: 453if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 467case RegexNodeKind.BackreferenceConditional: 547RegexNodeKind.BackreferenceConditional => ReduceBackreferenceConditional(), 1908case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional: 2001Debug.Assert(Kind == RegexNodeKind.BackreferenceConditional); 2306case RegexNodeKind.BackreferenceConditional: 2433case RegexNodeKind.BackreferenceConditional: 2437int i = Kind == RegexNodeKind.BackreferenceConditional ? 0 : 1; 2912case RegexNodeKind.BackreferenceConditional:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (5)
959return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, capnum); 973return new RegexNode(RegexNodeKind.BackreferenceConditional, _options, tmpCapnum); 2077if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2092if (_group!.Kind is RegexNodeKind.ExpressionConditional or RegexNodeKind.BackreferenceConditional) 2096if (_group.Kind == RegexNodeKind.BackreferenceConditional && _group.ChildCount() > 2 || _group.ChildCount() > 3)
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (2)
1078case RegexNodeKind.BackreferenceConditional: 1080int branchStart = node.Kind is RegexNodeKind.BackreferenceConditional ? 0 : 1;
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
98RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional => true,