34 writes to Position
Microsoft.CodeAnalysis.Features (34)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (11)
64Position++; 145Position++; 158Position++; 169Position++; 203Position++; 235Position++; 274Position++; 317Position++; 338Position++; 381Position++; 432Position++;
EmbeddedLanguages\RegularExpressions\RegexParser.cs (23)
476_lexer.Position = start; 566_lexer.Position = position; 662_lexer.Position = start; 773_lexer.Position = afterQuestionPos - 1; 827_lexer.Position = afterInnerOpenParen; 837_lexer.Position = afterInnerOpenParen; 867_lexer.Position--; 879_lexer.Position--; 885_lexer.Position = pos; 963_lexer.Position = start; 1052_lexer.Position--; 1502_lexer.Position--; 1521_lexer.Position--; 1603_lexer.Position--; 1631_lexer.Position--; 1637_lexer.Position--; 1641_lexer.Position--; 1677_lexer.Position++; 1694_lexer.Position = start; 1717_lexer.Position = start; 1731_lexer.Position = afterBackslashPosition; 1758_lexer.Position = afterBackslashPosition; 1815_lexer.Position--;
72 references to Position
Microsoft.CodeAnalysis.Features (72)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (42)
47public readonly VirtualChar CurrentChar => Position < Text.Length ? Text[Position] : default; 50=> GetSubPattern(start, Position); 58if (Position == Text.Length) 66return CreateToken(GetKind(ch), trivia, Text.GetSubSequence(new TextSpan(Position - 1, 1))); 106while (Position < Text.Length) 130if (Position >= Text.Length) 137if (Text[Position] == '#') 139var start = Position; 142while (Position < Text.Length && 143Text[Position] != '\n') 154var start = Position; 155while (Position < Text.Length && 156Text[Position] != ')') 161if (Position == Text.Length) 165GetTextSpan(start, Position))); 180=> TextAt(this.Position, val); 200var start = Position; 201while (Position < Text.Length && IsBlank(Text[Position])) 206if (Position > start) 233var start = Position; 234while (Position < Text.Length && IsEscapeCategoryChar(this.CurrentChar)) 237if (Position == start) 261if (Position == Text.Length) 270var start = Position; 272while (Position < Text.Length && this.CurrentChar is var ch && IsDecimalDigit(ch)) 289if (Position == start) 309if (Position == Text.Length) 314var start = Position; 315while (Position < Text.Length && RegexCharClass.IsBoundaryWordChar(this.CurrentChar)) 320if (Position == start) 335var start = Position; 336while (Position < Text.Length && IsOptionChar(this.CurrentChar)) 341return start == Position 370var start = Position; 379if (Position < Text.Length && IsHexChar(this.CurrentChar)) 388var length = Position - start; 393GetTextSpan(beforeSlash, Position))); 412var start = Position; 425if (Position < Text.Length && IsOctalDigit(this.CurrentChar)) 444Debug.Assert(Position - start > 0);
EmbeddedLanguages\RegularExpressions\RegexParser.cs (30)
168Debug.Assert(_lexer.Position == _lexer.Text.Length); 467var start = _lexer.Position; 526var start = _lexer.Position; 593var start = _lexer.Position; 649var start = _lexer.Position; 726var afterQuestionPos = _lexer.Position; 780var afterInnerOpenParen = _lexer.Position; 882var pos = _lexer.Position; 944var start = _lexer.Position; 971if (_lexer.Position == _lexer.Text.Length) 1470if (_currentToken.Kind == RegexKind.BackslashToken && _lexer.Position < _lexer.Text.Length) 1563Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1609Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1647Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1662Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1663var start = _lexer.Position; 1667while (_lexer.Position < _lexer.Text.Length && 1668_lexer.Text[_lexer.Position] is var ch && 1681bestPosition = _lexer.Position; 1701Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1702var start = _lexer.Position; 1723Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1724Debug.Assert(_lexer.Text[_lexer.Position].Value is '<' or '\''); 1726var afterBackslashPosition = _lexer.Position; 1742var afterBackslashPosition = _lexer.Position - @"k".Length; 1776if (_lexer.Position < _lexer.Text.Length && 1806Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1930Debug.Assert(_lexer.Text[_lexer.Position - 1] is var ch && (ch == 'P' || ch == 'p')); 1933var start = _lexer.Position; 1963if (_lexer.Text.Length - _lexer.Position < "{x}".Length)