46 references to Loop
System.Text.RegularExpressions (46)
System\Text\RegularExpressions\RegexCompiler.cs (3)
3007case RegexNodeKind.Loop: 4941Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}"); 4979Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}");
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:
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 (2)
71case RegexNodeKind.Loop: 107RegexNodeKind.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>