16 references to RegexPrefixAnalyzer
System.Text.RegularExpressions.Generator (16)
RegexGenerator.Emitter.cs (1)
959if (RegexPrefixAnalyzer.FindTrailingAnchor(regexTree.Root) == RegexNodeKind.End &&
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexFindOptimizations.cs (12)
24RegexPrefixAnalyzer.FindLeadingPositiveLookahead(root) is RegexNode positiveLookahead) 55LeadingAnchor = RegexPrefixAnalyzer.FindLeadingAnchor(root); 82TrailingAnchor = RegexPrefixAnalyzer.FindTrailingAnchor(root); 99string? prefix = RegexPrefixAnalyzer.FindPrefix(root); 125if (RegexPrefixAnalyzer.FindFirstCharClass(root) is string charClass) 163prefix = RegexPrefixAnalyzer.FindPrefixOrdinalCaseInsensitive(root); 175RegexPrefixAnalyzer.FindPrefixes(root, ignoreCase: true) is { Length: > 1 } caseInsensitivePrefixes) 186List<FixedDistanceSet>? fixedDistanceSets = RegexPrefixAnalyzer.FindFixedDistanceSets(root, thorough: !interpreter); 202(RegexNode LoopNode, (char Char, string? String, StringComparison StringComparison, char[]? Chars) Literal)? literalAfterLoop = RegexPrefixAnalyzer.FindLiteralFollowingLeadingLoop(root); 213RegexPrefixAnalyzer.SortFixedDistanceSetsByQuality(fixedDistanceSets); 220RegexPrefixAnalyzer.FindPrefixes(root, ignoreCase: false) is { Length: > 1 } caseSensitivePrefixes) 893ReadOnlySpan<float> frequency = RegexPrefixAnalyzer.Frequency;
src\libraries\System.Text.RegularExpressions\src\System\Text\RegularExpressions\RegexNode.cs (3)
2503if (RegexPrefixAnalyzer.FindFirstCharClass(loopChild) is not string loopStartingSet || 2504RegexPrefixAnalyzer.FindLastCharClass(loopChild) is not string loopEndingSet || 2678RegexPrefixAnalyzer.FindFirstOrLastCharClass(peers[index], findFirst: succeeded) is string set &&