System\Text\RegularExpressions\RegexFindOptimizations.cs (48)
36(RegexNodeKind.Beginning, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Beginning,
37(RegexNodeKind.Beginning, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Beginning,
38(RegexNodeKind.Start, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Start,
39(RegexNodeKind.Start, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Start,
40(RegexNodeKind.End, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_End,
41(RegexNodeKind.End, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_End,
42(_, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_EndZ,
43(_, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_EndZ,
61FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_End :
62FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ;
74FindNextStartingPositionMode.LeadingString_RightToLeft :
75FindNextStartingPositionMode.LeadingString_LeftToRight;
114FindMode = FindNextStartingPositionMode.LeadingChar_RightToLeft;
124FindMode = FindNextStartingPositionMode.LeadingSet_RightToLeft;
137FindMode = FindNextStartingPositionMode.LeadingString_OrdinalIgnoreCase_LeftToRight;
149FindMode = FindNextStartingPositionMode.LeadingStrings_OrdinalIgnoreCase_LeftToRight;
179FindMode = FindNextStartingPositionMode.FixedDistanceString_LeftToRight;
214FindMode = FindNextStartingPositionMode.FixedDistanceChar_LeftToRight;
229FindNextStartingPositionMode.LeadingSet_LeftToRight :
230FindNextStartingPositionMode.FixedDistanceSets_LeftToRight;
240FindMode = FindNextStartingPositionMode.LiteralAfterLoop_LeftToRight;
249FindMode != FindNextStartingPositionMode.NoSearch || // there's a searching scheme available
253public FindNextStartingPositionMode FindMode { get; } = FindNextStartingPositionMode.NoSearch;
386case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Beginning:
396case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Start:
408case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_EndZ:
418case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_End:
430case FindNextStartingPositionMode.LeadingString_RightToLeft:
445case FindNextStartingPositionMode.LeadingChar_RightToLeft:
460case FindNextStartingPositionMode.LeadingSet_RightToLeft:
482Debug.Assert(FindMode == FindNextStartingPositionMode.NoSearch);
535case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Beginning:
544case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Start:
553case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_EndZ:
562case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_End:
571case FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ:
578case FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_End:
587case FindNextStartingPositionMode.LeadingString_LeftToRight:
602case FindNextStartingPositionMode.LeadingString_OrdinalIgnoreCase_LeftToRight:
617case FindNextStartingPositionMode.LeadingSet_LeftToRight:
661case FindNextStartingPositionMode.FixedDistanceChar_LeftToRight:
676case FindNextStartingPositionMode.FixedDistanceString_LeftToRight:
692case FindNextStartingPositionMode.LeadingStrings_LeftToRight:
693case FindNextStartingPositionMode.LeadingStrings_OrdinalIgnoreCase_LeftToRight:
710case FindNextStartingPositionMode.FixedDistanceSets_LeftToRight:
787case FindNextStartingPositionMode.LiteralAfterLoop_LeftToRight:
835Debug.Assert(FindMode == FindNextStartingPositionMode.NoSearch, $"Unexpected FindMode {FindMode}");