44 references to Setlazy
System.Text.RegularExpressions (44)
System\Text\RegularExpressions\RegexCompiler.cs (4)
1249
Debug.Assert(target.LoopNode.Kind is RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic);
2755
case RegexNodeKind.
Setlazy
:
3503
Debug.Assert(node.Kind is RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
, $"Unexpected type: {node.Kind}");
3745
node.Kind is RegexNodeKind.
Setlazy
&&
System\Text\RegularExpressions\RegexFindOptimizations.cs (1)
822
Debug.Assert(loopNode.Kind is RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic);
System\Text\RegularExpressions\RegexNode.cs (31)
91
RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic);
175
case RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
:
293
case RegexNodeKind.
Setlazy
:
339
case RegexNodeKind.
Setlazy
:
425
case RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
when node.N == int.MaxValue && !atomicByAncestry:
477
case RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
:
597
RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
=> ReduceSet(),
689
case RegexNodeKind.
Setlazy
:
862
case RegexNodeKind.
Setlazy
:
958
Debug.Assert(Kind is RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
);
1227
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.Setloop or RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
when required.M == required.N:
1527
case RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
when node.M > 0:
1563
case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
:
1786
case RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
when nextNode.Kind == currentNode.Kind && currentNode.Str == nextNode.Str:
1813
case RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
when nextNode.Kind == RegexNodeKind.Set && currentNode.Str == nextNode.Str:
1881
case RegexNodeKind.Set when (nextNode.Kind is RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
) && currentNode.Str == nextNode.Str:
1990
case RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: false, allowLazy: true):
2355
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!):
2367
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!):
2396
case RegexNodeKind.
Setlazy
when allowLazy:
2402
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!):
2413
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!):
2449
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !MayOverlapStartingOrEndingSet(subsequent.Str!):
2460
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !MayOverlapStartingOrEndingSet(subsequent.Str!):
2604
case RegexNodeKind.
Setlazy
:
2713
RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic:
2881
(child.Kind is RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic && child.M == child.N))
2951
RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic
3144
public bool IsSetFamily => Kind is RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
;
3233
case RegexNodeKind.
Setlazy
:
3248
case RegexNodeKind.
Setlazy
:
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (4)
156
case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic when !RegexCharClass.IsNegated(node.Str!): // negated sets are too complex to analyze
641
case RegexNodeKind.
Setlazy
or RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic when node.M > 0:
981
case RegexNodeKind.Set or RegexNodeKind.Setloop or RegexNodeKind.
Setlazy
or RegexNodeKind.Setloopatomic:
1159
if (firstChild.Kind is not (RegexNodeKind.Setloop or RegexNodeKind.Setloopatomic or RegexNodeKind.
Setlazy
) || firstChild.N != int.MaxValue)
System\Text\RegularExpressions\RegexTreeAnalyzer.cs (1)
51
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.Setloop or RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.
Setlazy
when node.M != node.N:
System\Text\RegularExpressions\RegexWriter.cs (1)
405
case RegexNodeKind.
Setlazy
:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (2)
122
case RegexNodeKind.
Setlazy
:
128
result.AddLast(_builder.CreateLoop(_builder.CreateSingleton(setBdd), node.Kind == RegexNodeKind.
Setlazy
, node.M, node.N));