39 references to Loop
System.Text.RegularExpressions.Generator (39)
parent\src\System\Text\RegularExpressions\RegexNode.cs (22)
204
case RegexNodeKind.
Loop
:
207
RegexNode loopAsChild = new(RegexNodeKind.
Loop
, Options, M, N);
225
goto case RegexNodeKind.
Loop
;
545
if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop) &&
584
case RegexNodeKind.
Loop
:
589
Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.Empty or RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop);
594
Debug.Assert(node.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop);
597
if (node.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop)
642
RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop => ReduceLoops(),
881
Debug.Assert(Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop);
897
if (kind == RegexNodeKind.
Loop
)
1655
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.M > 0:
2130
case RegexNodeKind.
Loop
when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: true, allowLazy: false):
2164
else if (node.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop)
2168
goto case RegexNodeKind.
Loop
;
2176
case RegexNodeKind.
Loop
:
2486
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when subsequent.M > 0:
2610
case RegexNodeKind.
Loop
:
2741
RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when M != N => true,
2866
case RegexNodeKind.
Loop
:
2972
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop:
3319
var result = new RegexNode(lazy ? RegexNodeKind.Lazyloop : RegexNodeKind.
Loop
, Options, min, max);
parent\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (8)
226
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.M > 0:
439
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.M > 0:
493
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.M > 0:
686
case RegexNodeKind.Lazyloop or RegexNodeKind.
Loop
when node.M > 0:
1037
case RegexNodeKind.
Loop
:
1225
(nextChild.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop && nextChild.M >= 1))
1303
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.M >= 1:
1362
case RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when leading && node.M >= 1:
parent\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (2)
71
case RegexNodeKind.
Loop
:
107
RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop when node.N == 1 => true,
RegexGenerator.Emitter.cs (7)
2980
case RegexNodeKind.
Loop
:
4422
Debug.Assert(node.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}");
4442
Debug.Assert(node.Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}");
5603
RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop => node.M == 0 && node.N == 1 ? $"Optional ({(node.Kind is RegexNodeKind.
Loop
? "greedy" : "lazy")})." : $"Loop {DescribeLoop(node, rm)}{direction}.",
5774
RegexNodeKind.Atomic when node.Child(0).Kind is RegexNodeKind.
Loop
or RegexNodeKind.Lazyloop or RegexNodeKind.Alternate => true,
5834
RegexNodeKind.
Loop
=> rm.Analysis.IsAtomicByAncestor(node) ? "atomically" : "greedily",