30 writes to runtextpos
System.Text.RegularExpressions (30)
System\Text\RegularExpressions\Regex.cs (4)
448runner.runtextpos += bump; 484runner.runtextpos--; 492runner.runtextpos++; 542runner.runtextpos = runtextpos;
System\Text\RegularExpressions\RegexInterpreter.cs (21)
206int i = _rightToLeft ? --runtextpos : runtextpos++; 247runtextpos = pos; 317runtextpos = pos; 322private void Backwardnext() => runtextpos += _rightToLeft ? 1 : -1; 333while (_code.FindOptimizations.TryFindNextStartingPositionRightToLeft(text, ref runtextpos, runtextstart)) 346runtextpos--; 351while (_code.FindOptimizations.TryFindNextStartingPositionLeftToRight(text, ref runtextpos, runtextstart)) 364runtextpos++; 412runtextpos = TrackPeek(); 436runtextpos = StackPeek(); 493runtextpos = TrackPeek(1); // Recall position 546runtextpos = pos; // Recall position 613runtextpos = StackPeek(); // Zap to mark 665runtextpos = textpos; // Recall position 981runtextpos += len; 986runtextpos += i; 1043runtextpos = pos; 1069runtextpos = pos; 1089runtextpos = pos; 1109runtextpos = pos;
System\Text\RegularExpressions\RegexRunner.cs (3)
206runtextpos += bump; 272runtextpos += bump; 285runtextpos = textstart;
System\Text\RegularExpressions\Symbolic\SymbolicRegexRunnerFactory.cs (2)
102runtextpos = end; 108runtextpos = text.Length;
51 references to runtextpos
System.Text.RegularExpressions (51)
System\Text\RegularExpressions\Regex.cs (3)
508match.Tidy(runner.runtextpos, 0, mode); 573runtextpos = startat = runner.runtextpos; 634match.Tidy(runner.runtextpos, beginning, mode);
System\Text\RegularExpressions\RegexInterpreter.cs (45)
202private int Forwardchars() => _rightToLeft ? runtextpos : runtextend - runtextpos; 217if (inputSpan.Length - runtextpos < c) 222pos = runtextpos + c; 226if (runtextpos < c) 231pos = runtextpos; 257if (inputSpan.Length - runtextpos < length) 262pos = runtextpos + length; 266if (runtextpos < length) 271pos = runtextpos; 337if (TryMatchAtCurrentPosition(text) || runtextpos == 0) 355if (TryMatchAtCurrentPosition(text) || runtextpos == text.Length) 406TrackPush(runtextpos); 417StackPush(runtextpos); 453TransferCapture(Operand(0), Operand(1), StackPeek(), runtextpos); 457Capture(Operand(0), StackPeek(), runtextpos); 475if (runtextpos != StackPeek()) 478TrackPush(StackPeek(), runtextpos); // Save old mark, textpos 479StackPush(runtextpos); // Make new mark 510if (runtextpos != oldMarkPos) 515TrackPush(oldMarkPos, runtextpos); // Save old mark, textpos 519TrackPush(runtextpos, runtextpos); 560StackPush(runtextpos, Operand(0)); 585int matched = runtextpos - mark; 596StackPush(runtextpos, count + 1); // Make new mark, incr count 641StackPush(runtextpos, count + 1); // Make new mark, incr count 647TrackPush(mark, count, runtextpos); // Save mark, count, position 731int m1 = runtextpos - 1; 742int runtextpos = this.runtextpos; 752if (!IsBoundary(inputSpan, runtextpos)) 760if (IsBoundary(inputSpan, runtextpos)) 768if (!IsECMABoundary(inputSpan, runtextpos)) 776if (IsECMABoundary(inputSpan, runtextpos)) 784if (runtextpos > 0) 792if (runtextpos != runtextstart) 801int runtextpos = this.runtextpos; 811if (runtextpos < inputSpan.Length) 961TrackPush(len - i - 1, runtextpos - Bump()); 978i = inputSpan.Slice(runtextpos, len).IndexOf(ch); 1004TrackPush(len - i - 1, runtextpos - Bump()); 1030TrackPush(len - i - 1, runtextpos - Bump()); 1059TrackPush(c - 1, runtextpos); 1133if (trackingpos < runtextpos) 1135trackingpos = runtextpos;
System\Text\RegularExpressions\RegexRunner.cs (2)
220match.Tidy(runtextpos, 0, mode); 266if (runtextpos == stoppos)
System\Text\RegularExpressions\Symbolic\SymbolicRegexRunnerFactory.cs (1)
76SymbolicMatch pos = _matcher.FindMatch(_mode, text, runtextpos, _perThreadData);