36 writes to Position
Microsoft.CodeAnalysis.Features (36)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (11)
66Position++; 147Position++; 160Position++; 171Position++; 205Position++; 239Position++; 280Position++; 323Position++; 344Position++; 387Position++; 438Position++;
EmbeddedLanguages\RegularExpressions\RegexParser.cs (25)
478_lexer.Position = start; 568_lexer.Position = position; 664_lexer.Position = start; 772_lexer.Position = afterQuestionPos - 1; 826_lexer.Position = afterInnerOpenParen; 836_lexer.Position = afterInnerOpenParen; 866_lexer.Position--; 878_lexer.Position--; 884_lexer.Position = pos; 962_lexer.Position = start; 1051_lexer.Position--; 1508_lexer.Position--; 1527_lexer.Position--; 1555_lexer.Position += 2; 1567_lexer.Position = beforeBracketPos; 1639_lexer.Position--; 1667_lexer.Position--; 1673_lexer.Position--; 1677_lexer.Position--; 1713_lexer.Position++; 1730_lexer.Position = start; 1753_lexer.Position = start; 1767_lexer.Position = afterBackslashPosition; 1794_lexer.Position = afterBackslashPosition; 1851_lexer.Position--;
74 references to Position
Microsoft.CodeAnalysis.Features (74)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (42)
49public readonly VirtualChar CurrentChar => Position < Text.Length ? Text[Position] : default; 52=> GetSubPattern(start, Position); 60if (Position == Text.Length) 68return CreateToken(GetKind(ch), trivia, Text.GetSubSequence(new TextSpan(Position - 1, 1))); 108while (Position < Text.Length) 132if (Position >= Text.Length) 139if (Text[Position] == '#') 141var start = Position; 144while (Position < Text.Length && 145Text[Position] != '\n') 156var start = Position; 157while (Position < Text.Length && 158Text[Position] != ')') 163if (Position == Text.Length) 167GetTextSpan(start, Position))); 182=> TextAt(this.Position, val); 202var start = Position; 203while (Position < Text.Length && IsBlank(Text[Position])) 208if (Position > start) 235var start = Position; 236while (Position < Text.Length && 242if (Position == start) 267if (Position == Text.Length) 276var start = Position; 278while (Position < Text.Length && this.CurrentChar is var ch && IsDecimalDigit(ch)) 295if (Position == start) 315if (Position == Text.Length) 320var start = Position; 321while (Position < Text.Length && RegexCharClass.IsBoundaryWordChar(this.CurrentChar)) 326if (Position == start) 341var start = Position; 342while (Position < Text.Length && IsOptionChar(this.CurrentChar)) 347return start == Position 376var start = Position; 385if (Position < Text.Length && IsHexChar(this.CurrentChar)) 394var length = Position - start; 399GetTextSpan(beforeSlash, Position))); 418var start = Position; 431if (Position < Text.Length && IsOctalDigit(this.CurrentChar)) 450Debug.Assert(Position - start > 0);
EmbeddedLanguages\RegularExpressions\RegexParser.cs (32)
170Debug.Assert(_lexer.Position == _lexer.Text.Length); 469var start = _lexer.Position; 528var start = _lexer.Position; 595var start = _lexer.Position; 651var start = _lexer.Position; 725var afterQuestionPos = _lexer.Position; 779var afterInnerOpenParen = _lexer.Position; 881var pos = _lexer.Position; 943var start = _lexer.Position; 970if (_lexer.Position == _lexer.Text.Length) 1476if (_currentToken.Kind == RegexKind.BackslashToken && _lexer.Position < _lexer.Text.Length) 1548var beforeBracketPos = _lexer.Position - 1; 1556var textChars = _lexer.GetSubPattern(beforeBracketPos, _lexer.Position); 1599Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1645Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1683Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1698Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1699var start = _lexer.Position; 1703while (_lexer.Position < _lexer.Text.Length && 1704_lexer.Text[_lexer.Position] is var ch && 1717bestPosition = _lexer.Position; 1737Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1738var start = _lexer.Position; 1759Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1760Debug.Assert(_lexer.Text[_lexer.Position].Value is '<' or '\''); 1762var afterBackslashPosition = _lexer.Position; 1778var afterBackslashPosition = _lexer.Position - @"k".Length; 1812if (_lexer.Position < _lexer.Text.Length && 1842Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1966Debug.Assert(_lexer.Text[_lexer.Position - 1] is var ch && (ch == 'P' || ch == 'p')); 1969var start = _lexer.Position; 1999if (_lexer.Text.Length - _lexer.Position < "{x}".Length)