System\Text\RegularExpressions\RegexNode.cs (24)
204case RegexNodeKind.Loop:
207RegexNode loopAsChild = new(RegexNodeKind.Loop, Options, M, N);
225goto case RegexNodeKind.Loop;
304case RegexNodeKind.Loop:
498if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) &&
537case RegexNodeKind.Loop:
542Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.Empty or RegexNodeKind.Loop or RegexNodeKind.Lazyloop);
547Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop);
550if (node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop)
595RegexNodeKind.Loop or RegexNodeKind.Lazyloop => ReduceLoops(),
826Debug.Assert(Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop);
842if (kind == RegexNodeKind.Loop)
1596case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0:
2071case RegexNodeKind.Loop when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: true, allowLazy: false):
2105else if (node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop)
2109goto case RegexNodeKind.Loop;
2117case RegexNodeKind.Loop:
2369case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when subsequent.M > 0:
2493case RegexNodeKind.Loop:
2603RegexNodeKind.Loop or RegexNodeKind.Lazyloop when M != N => true,
2728case RegexNodeKind.Loop:
2834case RegexNodeKind.Loop or RegexNodeKind.Lazyloop:
3138var result = new RegexNode(lazy ? RegexNodeKind.Lazyloop : RegexNodeKind.Loop, Options, min, max);
3366case RegexNodeKind.Loop: