49 references to Multi
System.Text.RegularExpressions (49)
System\Text\RegularExpressions\RegexCompiler.cs (14)
1467case RegexNodeKind.Multi or RegexNodeKind.Notone or RegexNodeKind.One or RegexNodeKind.Set: 1473int length = node.Kind == RegexNodeKind.Multi ? node.Str!.Length : 1; 2039case RegexNodeKind.Multi: 2045case RegexNodeKind.Concatenate when child.Child(0) == startingLiteralNode && (startingLiteralNode.Kind is RegexNodeKind.One or RegexNodeKind.Set or RegexNodeKind.Multi): 2055child.Child(0).Kind is RegexNodeKind.Multi ? 2095Debug.Assert(multi.Kind is RegexNodeKind.Multi, $"Expected a Multi node, got {multi.Kind}"); 2098new(RegexNodeKind.Multi, multi.Options, multi.Str.Substring(1)); 2984case RegexNodeKind.Multi: 3484Debug.Assert(node.Kind is RegexNodeKind.Multi, $"Unexpected type: {node.Kind}"); 3685case RegexNodeKind.Multi: 5441if (node.Kind == RegexNodeKind.Multi) 5474if (node.Kind == RegexNodeKind.Multi) 5667if (root.Kind is RegexNodeKind.Multi or RegexNodeKind.One or RegexNodeKind.Notone or RegexNodeKind.Set) 5685Ldc((root.Kind == RegexNodeKind.Multi ? root.Str!.Length : 1) * (!rtl ? 1 : -1));
System\Text\RegularExpressions\RegexNode.cs (27)
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> 197Kind = RegexNodeKind.Multi; 279case RegexNodeKind.Multi: 331case RegexNodeKind.Multi: 1437Debug.Assert(startingNode.Kind == RegexNodeKind.Multi); 1469new RegexNode(RegexNodeKind.Multi, startingNodeOptions, startingSpan.ToString()); 1491Debug.Assert(node.Kind == RegexNodeKind.Multi); 1540return branch.Kind is RegexNodeKind.One or RegexNodeKind.Multi ? branch : null; 1546Debug.Assert(Kind is RegexNodeKind.One or RegexNodeKind.Multi || (IsOneFamily && M > 0)); 1585if (startingLiteralNode.IsOneFamily || startingLiteralNode.Kind is RegexNodeKind.Multi) 1637case RegexNodeKind.Multi: 1688case RegexNodeKind.Multi: 1809else if (at.Kind is RegexNodeKind.Multi or RegexNodeKind.One) 1825prev.Kind = RegexNodeKind.Multi; 1937nextNode.Kind == RegexNodeKind.Multi && 2147RegexNodeKind.Multi or 2411case RegexNodeKind.Multi when CharInLoopSet(loopNode, literal.Str![0]) && !CharInLoopSet(loopNode, literal.Str[1]): 2529case RegexNodeKind.Multi when node.Ch != subsequent.Str![0]: 2555case RegexNodeKind.Multi when node.Ch == subsequent.Str![0]: 2576case RegexNodeKind.Multi when !RegexCharClass.CharInClass(subsequent.Str![0], node.Str!): 2623case RegexNodeKind.Multi when !CharInStartingOrEndingSet(subsequent.Str![0]): 2834case RegexNodeKind.Multi: 2947case RegexNodeKind.Multi: 3131else if (child.Kind is RegexNodeKind.Multi) 3231RegexNodeKind.Multi => true, 3288Kind = RegexNodeKind.Multi; 3513case RegexNodeKind.Multi:
System\Text\RegularExpressions\RegexParser.cs (1)
2198_concatenation!.AddChild(new RegexNode(RegexNodeKind.Multi, _options & ~RegexOptions.IgnoreCase, _pattern.Substring(pos, cch)));
System\Text\RegularExpressions\RegexPrefixAnalyzer.cs (4)
124case RegexNodeKind.Multi: 427case RegexNodeKind.Multi: 621case RegexNodeKind.Multi: 1000case RegexNodeKind.Multi:
System\Text\RegularExpressions\RegexReplacement.cs (1)
50case RegexNodeKind.Multi:
System\Text\RegularExpressions\RegexWriter.cs (1)
419case RegexNodeKind.Multi:
System\Text\RegularExpressions\Symbolic\RegexNodeConverter.cs (1)
69case RegexNodeKind.Multi: