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