48 references to Setloop
System.Text.RegularExpressions (48)
System\Text\RegularExpressions\RegexCompiler.cs (5)
1268
Debug.Assert(target.LoopNode.Kind is RegexNodeKind.
Setloop
or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic);
2748
case RegexNodeKind.
Setloop
:
3288
Debug.Assert(node.Kind is RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.
Setloop
, $"Unexpected type: {node.Kind}");
4362
Debug.Assert(node.Kind is RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic, $"Unexpected type: {node.Kind}");
4609
Debug.Assert(node.Kind is RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic, $"Unexpected type: {node.Kind}");
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 (33)
91
RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic);
169
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.
Setloop
:
294
case RegexNodeKind.
Setloop
:
337
case RegexNodeKind.
Setloop
:
424
case RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Notoneloop or RegexNodeKind.Notoneloopatomic or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when node.N == int.MaxValue:
476
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.
Setloop
:
597
RegexNodeKind.Set or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy => ReduceSet(),
686
case RegexNodeKind.
Setloop
:
850
case RegexNodeKind.
Setloop
:
958
Debug.Assert(Kind is RegexNodeKind.Set or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy);
972
Kind == RegexNodeKind.
Setloop
? RegexNodeKind.Oneloop :
982
Kind == RegexNodeKind.
Setloop
? RegexNodeKind.Notoneloop :
1218
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.
Setloop
or RegexNodeKind.Onelazy or RegexNodeKind.Notonelazy or RegexNodeKind.Setlazy when required.M == required.N:
1518
case RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy when node.M > 0:
1554
case RegexNodeKind.Set or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy:
1777
case RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy when nextNode.Kind == currentNode.Kind && currentNode.Str == nextNode.Str:
1804
case RegexNodeKind.
Setloop
or RegexNodeKind.Setlazy when nextNode.Kind == RegexNodeKind.Set && currentNode.Str == nextNode.Str:
1872
case RegexNodeKind.Set when (nextNode.Kind is RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy) && currentNode.Str == nextNode.Str:
1972
case RegexNodeKind.Oneloop or RegexNodeKind.Notoneloop or RegexNodeKind.
Setloop
when CanBeMadeAtomic(node, subsequent, iterateNullableSubsequent: true, allowLazy: false):
2350
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!):
2362
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !RegexCharClass.CharInClass(node.Ch, subsequent.Str!):
2390
case RegexNodeKind.
Setloop
:
2397
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!):
2408
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !RegexCharClass.MayOverlap(node.Str!, subsequent.Str!):
2444
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M > 0 && !MayOverlapStartingOrEndingSet(subsequent.Str!):
2455
case RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic when subsequent.M == 0 && !MayOverlapStartingOrEndingSet(subsequent.Str!):
2600
case RegexNodeKind.
Setloop
:
2708
RegexNodeKind.Setlazy or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic:
2876
(child.Kind is RegexNodeKind.
Setloop
or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic && child.M == child.N))
2946
RegexNodeKind.
Setloop
or RegexNodeKind.Setlazy or RegexNodeKind.Setloopatomic
3139
public bool IsSetFamily => Kind is RegexNodeKind.Set or RegexNodeKind.
Setloop
or RegexNodeKind.Setloopatomic or RegexNodeKind.Setlazy;
3226
case RegexNodeKind.
Setloop
:
3241
case RegexNodeKind.
Setloop
:
System\Text\RegularExpressions\RegexNodeKind.cs (1)
72
/// This is purely a representational optimization, equivalent to a <see cref="Atomic"/> wrapped around a <see cref="
Setloop
"/>.
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)
403
case RegexNodeKind.
Setloop
:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (1)
121
case RegexNodeKind.
Setloop
:
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>