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)
497_lexer.Position = start; 587_lexer.Position = position; 683_lexer.Position = start; 794_lexer.Position = afterQuestionPos - 1; 848_lexer.Position = afterInnerOpenParen; 858_lexer.Position = afterInnerOpenParen; 888_lexer.Position--; 900_lexer.Position--; 906_lexer.Position = pos; 984_lexer.Position = start; 1073_lexer.Position--; 1523_lexer.Position--; 1542_lexer.Position--; 1624_lexer.Position--; 1652_lexer.Position--; 1658_lexer.Position--; 1662_lexer.Position--; 1698_lexer.Position++; 1715_lexer.Position = start; 1738_lexer.Position = start; 1752_lexer.Position = afterBackslashPosition; 1779_lexer.Position = afterBackslashPosition; 1836_lexer.Position--;
73 references to Position
Microsoft.CodeAnalysis.Features (73)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (43)
47public readonly VirtualChar CurrentChar => Position < Text.Length ? Text[Position] : default; 50=> GetSubPattern(start, Position); 58if (Position == Text.Length) 66return CreateToken(GetKind(ch), trivia, Text[(Position - 1)..Position]); 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); 488var start = _lexer.Position; 547var start = _lexer.Position; 614var start = _lexer.Position; 670var start = _lexer.Position; 747var afterQuestionPos = _lexer.Position; 801var afterInnerOpenParen = _lexer.Position; 903var pos = _lexer.Position; 965var start = _lexer.Position; 992if (_lexer.Position == _lexer.Text.Length) 1491if (_currentToken.Kind == RegexKind.BackslashToken && _lexer.Position < _lexer.Text.Length) 1584Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1630Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1668Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1683Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1684var start = _lexer.Position; 1688while (_lexer.Position < _lexer.Text.Length && 1689_lexer.Text[_lexer.Position] is var ch && 1702bestPosition = _lexer.Position; 1722Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1723var start = _lexer.Position; 1744Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1745Debug.Assert(_lexer.Text[_lexer.Position].Value is '<' or '\''); 1747var afterBackslashPosition = _lexer.Position; 1763var afterBackslashPosition = _lexer.Position - @"k".Length; 1797if (_lexer.Position < _lexer.Text.Length && 1827Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1951Debug.Assert(_lexer.Text[_lexer.Position - 1] is var ch && (ch == 'P' || ch == 'p')); 1954var start = _lexer.Position; 1984if (_lexer.Text.Length - _lexer.Position < "{x}".Length)