42 references to Multi
System.Text.RegularExpressions.Generator (42)
RegexGenerator.Emitter.cs (14)
650
else if (root.Kind is RegexNodeKind.
Multi
or RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set)
659
writer.WriteLine($"int end = base.runtextpos = start {(!rtl ? "+" : "-")} {(root.Kind == RegexNodeKind.
Multi
? root.Str!.Length : 1)};");
1727
if (startingLiteralNode.IsOneFamily || startingLiteralNode.Kind is RegexNodeKind.
Multi
)
1828
case RegexNodeKind.
Multi
:
1835
case RegexNodeKind.Concatenate when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.
Multi
):
1845
child.Child(0).Kind is RegexNodeKind.
Multi
?
1889
Debug.Assert(multi.Kind is RegexNodeKind.
Multi
, $"Expected a Multi node, got {multi.Kind}");
1892
new(RegexNodeKind.
Multi
, multi.Options, multi.Str.Substring(1));
2874
case RegexNodeKind.
Multi
when (node.Options & RegexOptions.RightToLeft) == 0:
2889
case RegexNodeKind.
Multi
:
3050
else if (child.Kind is RegexNodeKind.
Multi
)
3269
Debug.Assert(node.Kind is RegexNodeKind.
Multi
, $"Unexpected type: {node.Kind}");
4939
if (node.Kind == RegexNodeKind.
Multi
)
5479
RegexNodeKind.
Multi
=> $"Match the string {Literal(node.Str!)}{direction}.",
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (23)
26
/// <remarks>For a <see cref="RegexNodeKind.
Multi
"/>, this is the string from the expression. For an <see cref="IsSetFamily"/> node, this is the character class string from <see cref="RegexCharClass"/>.</remarks>
185
Kind = RegexNodeKind.
Multi
;
239
case RegexNodeKind.
Multi
:
291
case RegexNodeKind.
Multi
:
1280
Debug.Assert(startingNode.Kind == RegexNodeKind.
Multi
);
1312
new RegexNode(RegexNodeKind.
Multi
, startingNodeOptions, startingSpan.ToString());
1334
Debug.Assert(node.Kind == RegexNodeKind.
Multi
);
1383
return branch.Kind is RegexNodeKind.One or RegexNodeKind.
Multi
? branch : null;
1389
Debug.Assert(Kind is RegexNodeKind.One or RegexNodeKind.
Multi
|| (IsOneFamily && M > 0));
1410
case RegexNodeKind.
Multi
:
1461
case RegexNodeKind.
Multi
:
1582
else if (at.Kind is RegexNodeKind.
Multi
or RegexNodeKind.One)
1598
prev.Kind = RegexNodeKind.
Multi
;
1710
nextNode.Kind == RegexNodeKind.
Multi
&&
2130
case RegexNodeKind.
Multi
when node.Ch != subsequent.Str![0]:
2156
case RegexNodeKind.
Multi
when node.Ch == subsequent.Str![0]:
2177
case RegexNodeKind.
Multi
when !RegexCharClass.CharInClass(subsequent.Str![0], node.Str!):
2272
case RegexNodeKind.
Multi
:
2385
case RegexNodeKind.
Multi
:
2546
else if (child.Kind is RegexNodeKind.
Multi
)
2641
RegexNodeKind.
Multi
=> true,
2698
Kind = RegexNodeKind.
Multi
;
2915
case RegexNodeKind.
Multi
:
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexParser.cs (1)
2022
_concatenation!.AddChild(new RegexNode(RegexNodeKind.
Multi
, _options & ~RegexOptions.IgnoreCase, _pattern.Substring(pos, cch)));
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (4)
124
case RegexNodeKind.
Multi
:
427
case RegexNodeKind.
Multi
:
621
case RegexNodeKind.
Multi
:
991
case RegexNodeKind.
Multi
: