1 write to FindOptimizations
System.Text.RegularExpressions (1)
System\Text\RegularExpressions\RegexTree.cs (1)
80
FindOptimizations
= RegexFindOptimizations.Create(root, options);
27 references to FindOptimizations
System.Text.RegularExpressions (27)
System\Text\RegularExpressions\RegexCompiler.cs (24)
412
int minRequiredLength = _regexTree.
FindOptimizations
.MinRequiredLength;
463
switch (_regexTree.
FindOptimizations
.FindMode)
491
Debug.Fail($"Unexpected mode: {_regexTree.
FindOptimizations
.FindMode}");
508
switch (_regexTree.
FindOptimizations
.FindMode)
514
_regexTree.Root.ComputeMaxLength() == _regexTree.
FindOptimizations
.MinRequiredLength)
523
Ldc(_regexTree.
FindOptimizations
.MinRequiredLength);
643
int extraNewlineBump = _regexTree.
FindOptimizations
.FindMode == FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ ? 1 : 0;
648
Ldc(_regexTree.
FindOptimizations
.MinRequiredLength + extraNewlineBump);
654
Ldc(_regexTree.
FindOptimizations
.MinRequiredLength + extraNewlineBump);
667
switch (_regexTree.
FindOptimizations
.LeadingAnchor)
746
switch (_regexTree.
FindOptimizations
.TrailingAnchor)
748
case RegexNodeKind.End or RegexNodeKind.EndZ when _regexTree.
FindOptimizations
.MaxPossibleLength is int maxLength:
751
int extraNewlineBump = _regexTree.
FindOptimizations
.FindMode == FindNextStartingPositionMode.TrailingAnchor_FixedLength_LeftToRight_EndZ ? 1 : 0;
776
RegexFindOptimizations opts = _regexTree.
FindOptimizations
;
831
string prefix = _regexTree.
FindOptimizations
.LeadingPrefix;
864
Debug.Assert(_regexTree.
FindOptimizations
.FixedDistanceSets is { Count: > 0 });
866
List<RegexFindOptimizations.FixedDistanceSet>? sets = _regexTree.
FindOptimizations
.FixedDistanceSets;
1195
Debug.Assert(_regexTree.
FindOptimizations
.FixedDistanceSets is { Count: > 0 });
1197
RegexFindOptimizations.FixedDistanceSet set = _regexTree.
FindOptimizations
.FixedDistanceSets![0];
1266
Debug.Assert(_regexTree.
FindOptimizations
.LiteralAfterLoop is not null);
1267
(RegexNode LoopNode, (char Char, string? String, StringComparison StringComparison, char[]? Chars) Literal) target = _regexTree.
FindOptimizations
.LiteralAfterLoop.Value;
2930
if (_regexTree!.
FindOptimizations
.FindMode == FindNextStartingPositionMode.LiteralAfterLoop_LeftToRight &&
2931
_regexTree!.
FindOptimizations
.LiteralAfterLoop?.LoopNode == node)
5635
else if (_regexTree.
FindOptimizations
.FindMode is
System\Text\RegularExpressions\RegexWriter.cs (1)
122
return new RegexInterpreterCode(_tree.
FindOptimizations
, _tree.Options, emitted, strings, _trackCount);
System\Text\RegularExpressions\Symbolic\SymbolicRegexRunnerFactory.cs (2)
43
SymbolicRegexMatcher<BitVector>.Create(regexTree.CaptureCount, regexTree.
FindOptimizations
, bddBuilder, rootNode, new BitVectorSolver(minterms), matchTimeout) :
44
SymbolicRegexMatcher<ulong>.Create(regexTree.CaptureCount, regexTree.
FindOptimizations
, bddBuilder, rootNode, new UInt64Solver(minterms), matchTimeout);