System\Text\RegularExpressions\RegexFindOptimizations.cs (48)
65(RegexNodeKind.Beginning, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Beginning,
66(RegexNodeKind.Beginning, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Beginning,
67(RegexNodeKind.Start, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Start,
68(RegexNodeKind.Start, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Start,
69(RegexNodeKind.End, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_End,
70(RegexNodeKind.End, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_End,
71(_, false) => FindNextStartingPositionMode.LeadingAnchor_LeftToRight_EndZ,
72(_, true) => FindNextStartingPositionMode.LeadingAnchor_RightToLeft_EndZ,
91FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_End :
92FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ;
104FindNextStartingPositionMode.LeadingString_RightToLeft :
105FindNextStartingPositionMode.LeadingString_LeftToRight;
144FindMode = FindNextStartingPositionMode.LeadingChar_RightToLeft;
154FindMode = FindNextStartingPositionMode.LeadingSet_RightToLeft;
167FindMode = FindNextStartingPositionMode.LeadingString_OrdinalIgnoreCase_LeftToRight;
179FindMode = FindNextStartingPositionMode.LeadingStrings_OrdinalIgnoreCase_LeftToRight;
209FindMode = FindNextStartingPositionMode.FixedDistanceString_LeftToRight;
244FindMode = FindNextStartingPositionMode.FixedDistanceChar_LeftToRight;
259FindNextStartingPositionMode.LeadingSet_LeftToRight :
260FindNextStartingPositionMode.FixedDistanceSets_LeftToRight;
270FindMode = FindNextStartingPositionMode.LiteralAfterLoop_LeftToRight;
279FindMode != FindNextStartingPositionMode.NoSearch || // there's a searching scheme available
283public FindNextStartingPositionMode FindMode { get; } = FindNextStartingPositionMode.NoSearch;
416case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Beginning:
426case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_Start:
438case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_EndZ:
448case FindNextStartingPositionMode.LeadingAnchor_RightToLeft_End:
460case FindNextStartingPositionMode.LeadingString_RightToLeft:
475case FindNextStartingPositionMode.LeadingChar_RightToLeft:
490case FindNextStartingPositionMode.LeadingSet_RightToLeft:
512Debug.Assert(FindMode == FindNextStartingPositionMode.NoSearch);
565case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Beginning:
574case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_Start:
583case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_EndZ:
592case FindNextStartingPositionMode.LeadingAnchor_LeftToRight_End:
601case FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ:
608case FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_End:
617case FindNextStartingPositionMode.LeadingString_LeftToRight:
632case FindNextStartingPositionMode.LeadingString_OrdinalIgnoreCase_LeftToRight:
647case FindNextStartingPositionMode.LeadingSet_LeftToRight:
691case FindNextStartingPositionMode.FixedDistanceChar_LeftToRight:
706case FindNextStartingPositionMode.FixedDistanceString_LeftToRight:
722case FindNextStartingPositionMode.LeadingStrings_LeftToRight:
723case FindNextStartingPositionMode.LeadingStrings_OrdinalIgnoreCase_LeftToRight:
740case FindNextStartingPositionMode.FixedDistanceSets_LeftToRight:
817case FindNextStartingPositionMode.LiteralAfterLoop_LeftToRight:
865Debug.Assert(FindMode == FindNextStartingPositionMode.NoSearch, $"Unexpected FindMode {FindMode}");