46 references to Loop
System.Text.RegularExpressions (46)
System\Text\RegularExpressions\RegexCompiler.cs (3)
2765case RegexNodeKind.Loop: 4697Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}"); 4735Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}");
System\Text\RegularExpressions\RegexNode.cs (23)
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) 1535case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0: 2010case RegexNodeKind.Loop when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: true, allowLazy: false): 2038else if (node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop) 2042goto case RegexNodeKind.Loop; 2050case RegexNodeKind.Loop: 2298case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when subsequent.M > 0: 2422case RegexNodeKind.Loop: 2611case RegexNodeKind.Loop: 2717case RegexNodeKind.Loop or RegexNodeKind.Lazyloop: 3021var result = new RegexNode(lazy ? RegexNodeKind.Lazyloop : RegexNodeKind.Loop, Options, min, max); 3249case RegexNodeKind.Loop:
System\Text\RegularExpressions\RegexNodeKind.cs (3)
32/// This is purely a representational optimization, equivalent to a <see cref="Loop"/> wrapped around a <see cref="One"/>. 37/// This is purely a representational optimization, equivalent to a <see cref="Loop"/> wrapped around a <see cref="Notone"/>. 41/// This is purely a representational optimization, equivalent to a <see cref="Loop"/> wrapped around a <see cref="Set"/>.
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (8)
226case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0: 439case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0: 493case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0: 686case RegexNodeKind.Lazyloop or RegexNodeKind.Loop when node.M > 0: 1037case RegexNodeKind.Loop: 1225(nextChild.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop && nextChild.M >= 1)) 1303case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M >= 1: 1362case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when leading && node.M >= 1:
System\Text\RegularExpressions\RegexTreeAnalyzer.cs (3)
50case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M != node.N: 75case RegexNodeKind.Loop: 111RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.N == 1 => true,
System\Text\RegularExpressions\RegexWriter.cs (3)
311case RegexNodeKind.Loop | BeforeChild: 327case RegexNodeKind.Loop | AfterChild: 331int Lazy = (nodeType - (RegexNodeKind.Loop | AfterChild));
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (2)
86case RegexNodeKind.Loop: 250case RegexNodeKind.Loop:
System\Text\RegularExpressions\Symbolic\SymbolicRegexKind.cs (1)
15/// <summary>A node that matches a loop (e.g. <see cref="RegexNodeKind.Loop"/>, <see cref="RegexNodeKind.Lazyloop"/>, <see cref="RegexNodeKind.Setloop"/>, etc.).</summary>