40 references to Lazyloop
System.Text.RegularExpressions.Generator (40)
RegexGenerator.Emitter.cs (6)
2984case RegexNodeKind.Lazyloop: 3826Debug.Assert(node.Kind is RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}"); 4416Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}"); 4436Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop, $"Unexpected type: {node.Kind}"); 5597RegexNodeKind.Loop or RegexNodeKind.Lazyloop => node.M == 0 && node.N == 1 ? $"Optional ({(node.Kind is RegexNodeKind.Loop ? "greedy" : "lazy")})." : $"Loop {DescribeLoop(node, rm)}{direction}.", 5768RegexNodeKind.Atomic when node.Child(0).Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop or RegexNodeKind.Alternate => true,
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (21)
215case RegexNodeKind.Lazyloop: 303case RegexNodeKind.Lazyloop: 545if ((existingChild.Kind is RegexNodeKind.Alternate or RegexNodeKind.BackreferenceConditional or RegexNodeKind.ExpressionConditional or RegexNodeKind.Loop or RegexNodeKind.Lazyloop) && 583case RegexNodeKind.Lazyloop: 589Debug.Assert(node.Kind is RegexNodeKind.Atomic or RegexNodeKind.Empty or RegexNodeKind.Loop or RegexNodeKind.Lazyloop); 594Debug.Assert(node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop); 597if (node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop) 642RegexNodeKind.Loop or RegexNodeKind.Lazyloop => ReduceLoops(), 881Debug.Assert(Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop); 965child.MakeRep(u.Kind == RegexNodeKind.Lazyloop ? RegexNodeKind.Onelazy : RegexNodeKind.Oneloop, u.M, u.N); 1655case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.M > 0: 2131case RegexNodeKind.Lazyloop when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: false, allowLazy: true): 2164else if (node.Kind is RegexNodeKind.Loop or RegexNodeKind.Lazyloop) 2186case RegexNodeKind.Lazyloop: 2486case RegexNodeKind.Loop or RegexNodeKind.Lazyloop when subsequent.M > 0: 2611case RegexNodeKind.Lazyloop when allowLazy: 2741RegexNodeKind.Loop or RegexNodeKind.Lazyloop when M != N => true, 2865case RegexNodeKind.Lazyloop: 2972case RegexNodeKind.Loop or RegexNodeKind.Lazyloop: 3319var result = new RegexNode(lazy ? RegexNodeKind.Lazyloop : RegexNodeKind.Loop, Options, min, max); 3556case RegexNodeKind.Lazyloop:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNodeKind.cs (3)
46/// This is purely a representational optimization, equivalent to a <see cref="Lazyloop"/> wrapped around a <see cref="One"/>. 50/// This is purely a representational optimization, equivalent to a <see cref="Lazyloop"/> wrapped around a <see cref="Notone"/>. 54/// This is purely a representational optimization, equivalent to a <see cref="Lazyloop"/> wrapped around a <see cref="Set"/>.
src\libraries\System.Text.RegularExpressions\src\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: 1038case RegexNodeKind.Lazyloop: 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:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexTreeAnalyzer.cs (2)
72case RegexNodeKind.Lazyloop: 107RegexNodeKind.Loop or RegexNodeKind.Lazyloop when node.N == 1 => true,