27 references to ExpressionConditional
System.Text.RegularExpressions.Generator (27)
RegexGenerator.Emitter.cs (9)
2358
Debug.Assert(node.Kind is RegexNodeKind.
ExpressionConditional
, $"Unexpected type: {node.Kind}");
2931
case RegexNodeKind.
ExpressionConditional
:
2961
Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.PositiveLookaround or RegexNodeKind.NegativeLookaround or RegexNodeKind.
ExpressionConditional
, $"Unexpected type: {node.Kind}");
2962
Debug.Assert(node.Kind is RegexNodeKind.
ExpressionConditional
? node.ChildCount() >= 1 : node.ChildCount() == 1, $"Unexpected number of children: {node.ChildCount()}");
5493
RegexNodeKind.
ExpressionConditional
=> $"Conditionally match one of two expressions depending on whether an initial expression matches.",
5565
RegexNodeKind.Concatenate when node.Parent is not { Kind: RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.
ExpressionConditional
} => true,
5581
RegexNodeKind.
ExpressionConditional
when node.Parent.Child(0) == node => "Condition: ",
5582
RegexNodeKind.
ExpressionConditional
when node.Parent.Child(1) == node => "Matched: ",
5583
RegexNodeKind.
ExpressionConditional
when node.Parent.Child(2) == node => "Not Matched: ",
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (11)
274
case RegexNodeKind.
ExpressionConditional
:
453
if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.
ExpressionConditional
or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) &&
468
case RegexNodeKind.
ExpressionConditional
:
476
if (node.Kind != RegexNodeKind.
ExpressionConditional
) // ReduceExpressionConditional will have already applied ending backtracking removal
546
RegexNodeKind.
ExpressionConditional
=> ReduceExpressionConditional(),
1908
case RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.
ExpressionConditional
:
1919
for (int b = node.Kind == RegexNodeKind.
ExpressionConditional
? 1 : 0; b < alternateBranches; b++)
2019
Debug.Assert(Kind == RegexNodeKind.
ExpressionConditional
);
2104
case RegexNodeKind.
ExpressionConditional
when childCount == 3: // condition, yes, and no branch
2310
case RegexNodeKind.
ExpressionConditional
:
2434
case RegexNodeKind.
ExpressionConditional
:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (5)
978
nodeType = RegexNodeKind.
ExpressionConditional
;
1004
if (_group!.Kind != RegexNodeKind.
ExpressionConditional
)
2052
if (_group.Kind == RegexNodeKind.
ExpressionConditional
&& _group.ChildCount() == 0)
2077
if (_group!.Kind is RegexNodeKind.
ExpressionConditional
or RegexNodeKind.BackreferenceConditional)
2092
if (_group!.Kind is RegexNodeKind.
ExpressionConditional
or RegexNodeKind.BackreferenceConditional)
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (1)
1079
case RegexNodeKind.
ExpressionConditional
:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
98
RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.
ExpressionConditional
=> true,