56 references to One
System.Text.RegularExpressions.Generator (56)
RegexGenerator.Emitter.cs (7)
748
else if (root.Kind is RegexNodeKind.Multi or RegexNodeKind.
One
or RegexNodeKind.Notone or RegexNodeKind.Set)
1920
case RegexNodeKind.
One
:
1933
case RegexNodeKind.Concatenate when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.
One
or RegexNodeKind.Set or RegexNodeKind.Multi):
1989
new(RegexNodeKind.
One
, multi.Options, multi.Str[1]) :
2966
case RegexNodeKind.
One
:
3159
int repeatCount = child.Kind is RegexNodeKind.
One
or RegexNodeKind.Notone or RegexNodeKind.Set ? 1 : child.M;
5592
RegexNodeKind.
One
=> $"Match {Literal(node.Ch)}{direction}.",
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (39)
121
return new RegexNode(RegexNodeKind.
One
, options & ~RegexOptions.IgnoreCase, ch);
131
return new RegexNode(RegexNodeKind.
One
, options, ch);
152
Kind += kind - RegexNodeKind.
One
;
287
case RegexNodeKind.
One
:
907
case RegexNodeKind.
One
:
971
Kind == RegexNodeKind.Set ? RegexNodeKind.
One
:
1106
else if (at.Kind is RegexNodeKind.Set or RegexNodeKind.
One
or RegexNodeKind.Notone)
1135
if (prev.Kind == RegexNodeKind.
One
)
1150
if (at.Kind == RegexNodeKind.
One
)
1225
case RegexNodeKind.
One
or RegexNodeKind.Notone or RegexNodeKind.Set:
1364
if (startingNode.Kind == RegexNodeKind.
One
)
1384
if (startingNode.Kind == RegexNodeKind.
One
)
1429
new RegexNode(RegexNodeKind.
One
, startingNodeOptions, startingSpan[0]) :
1443
if (node.Kind == RegexNodeKind.
One
)
1461
node.Kind = RegexNodeKind.
One
;
1501
return branch.Kind is RegexNodeKind.
One
or RegexNodeKind.Multi ? branch : null;
1507
Debug.Assert(Kind is RegexNodeKind.
One
or RegexNodeKind.Multi || (IsOneFamily && M > 0));
1522
case RegexNodeKind.
One
:
1557
case RegexNodeKind.
One
or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Onelazy:
1700
else if (at.Kind is RegexNodeKind.Multi or RegexNodeKind.
One
)
1714
if (prev.Kind == RegexNodeKind.
One
)
1721
((at.Kind == RegexNodeKind.
One
) ? $"{prev.Str}{at.Ch}" : prev.Str + at.Str) :
1722
((at.Kind == RegexNodeKind.
One
) ? $"{at.Ch}{prev.Str}" : at.Str + prev.Str);
1811
case RegexNodeKind.Oneloop or RegexNodeKind.Onelazy when nextNode.Kind == RegexNodeKind.
One
&& currentNode.Ch == nextNode.Ch:
1861
nextNode.Kind = RegexNodeKind.
One
;
1879
case RegexNodeKind.
One
when (nextNode.Kind is RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Onelazy) && currentNode.Ch == nextNode.Ch:
2033
RegexNodeKind.
One
or RegexNodeKind.Notone or RegexNodeKind.Set)
2350
case RegexNodeKind.
One
when node.Ch != subsequent.Ch:
2380
case RegexNodeKind.
One
when node.Ch == subsequent.Ch:
2399
case RegexNodeKind.
One
when !RegexCharClass.CharInClass(subsequent.Ch, node.Str!):
2446
case RegexNodeKind.
One
when !CharInStartingOrEndingSet(subsequent.Ch):
2588
case RegexNodeKind.
One
:
2701
case RegexNodeKind.
One
:
2855
if (child.Kind is RegexNodeKind.
One
)
2947
RegexNodeKind.
One
or RegexNodeKind.Notone or RegexNodeKind.Set => true,
2999
case <= MultiVsRepeaterLimit when Kind == RegexNodeKind.
One
:
3014
case RegexNodeKind.
One
:
3147
public bool IsOneFamily => Kind is RegexNodeKind.
One
or RegexNodeKind.Oneloop or RegexNodeKind.Oneloopatomic or RegexNodeKind.Onelazy;
3207
case RegexNodeKind.
One
:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNodeKind.cs (3)
26
/// <remarks>The characters are specified in <see cref="RegexNode.Str"/>. This is purely a representational optimization, equivalent to multiple <see cref="
One
"/> nodes concatenated together.</remarks>
32
/// This is purely a representational optimization, equivalent to a <see cref="Loop"/> wrapped around a <see cref="
One
"/>.
46
/// This is purely a representational optimization, equivalent to a <see cref="Lazyloop"/> wrapped around a <see cref="
One
"/>.
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (7)
112
case RegexNodeKind.
One
or RegexNodeKind.Oneloop or RegexNodeKind.Onelazy or RegexNodeKind.Oneloopatomic when !ignoreCase || !RegexCharClass.ParticipatesInCaseConversion(node.Ch):
114
int reps = node.Kind is RegexNodeKind.
One
? 1 : Math.Min(node.M, MaxPrefixLength);
119
return node.Kind is RegexNodeKind.
One
|| reps == node.N;
422
case RegexNodeKind.
One
:
600
case RegexNodeKind.
One
:
954
case RegexNodeKind.
One
or RegexNodeKind.Oneloop or RegexNodeKind.Onelazy or RegexNodeKind.Oneloopatomic:
959
return node.Kind is RegexNodeKind.
One
|| node.M > 0 ? true : null;