34 writes to Position
Microsoft.CodeAnalysis.Features (34)
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (11)
66Position++; 147Position++; 160Position++; 171Position++; 205Position++; 237Position++; 276Position++; 319Position++; 340Position++; 383Position++; 434Position++;
EmbeddedLanguages\RegularExpressions\RegexParser.cs (23)
477_lexer.Position = start; 567_lexer.Position = position; 663_lexer.Position = start; 774_lexer.Position = afterQuestionPos - 1; 828_lexer.Position = afterInnerOpenParen; 838_lexer.Position = afterInnerOpenParen; 868_lexer.Position--; 880_lexer.Position--; 886_lexer.Position = pos; 964_lexer.Position = start; 1053_lexer.Position--; 1503_lexer.Position--; 1522_lexer.Position--; 1604_lexer.Position--; 1632_lexer.Position--; 1638_lexer.Position--; 1642_lexer.Position--; 1678_lexer.Position++; 1695_lexer.Position = start; 1718_lexer.Position = start; 1732_lexer.Position = afterBackslashPosition; 1759_lexer.Position = afterBackslashPosition; 1816_lexer.Position--;
72 references to Position
Microsoft.CodeAnalysis.Features (72)
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 && IsEscapeCategoryChar(this.CurrentChar)) 239if (Position == start) 263if (Position == Text.Length) 272var start = Position; 274while (Position < Text.Length && this.CurrentChar is var ch && IsDecimalDigit(ch)) 291if (Position == start) 311if (Position == Text.Length) 316var start = Position; 317while (Position < Text.Length && RegexCharClass.IsBoundaryWordChar(this.CurrentChar)) 322if (Position == start) 337var start = Position; 338while (Position < Text.Length && IsOptionChar(this.CurrentChar)) 343return start == Position 372var start = Position; 381if (Position < Text.Length && IsHexChar(this.CurrentChar)) 390var length = Position - start; 395GetTextSpan(beforeSlash, Position))); 414var start = Position; 427if (Position < Text.Length && IsOctalDigit(this.CurrentChar)) 446Debug.Assert(Position - start > 0);
EmbeddedLanguages\RegularExpressions\RegexParser.cs (30)
169Debug.Assert(_lexer.Position == _lexer.Text.Length); 468var start = _lexer.Position; 527var start = _lexer.Position; 594var start = _lexer.Position; 650var start = _lexer.Position; 727var afterQuestionPos = _lexer.Position; 781var afterInnerOpenParen = _lexer.Position; 883var pos = _lexer.Position; 945var start = _lexer.Position; 972if (_lexer.Position == _lexer.Text.Length) 1471if (_currentToken.Kind == RegexKind.BackslashToken && _lexer.Position < _lexer.Text.Length) 1564Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1610Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1648Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1663Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1664var start = _lexer.Position; 1668while (_lexer.Position < _lexer.Text.Length && 1669_lexer.Text[_lexer.Position] is var ch && 1682bestPosition = _lexer.Position; 1702Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1703var start = _lexer.Position; 1724Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1725Debug.Assert(_lexer.Text[_lexer.Position].Value is '<' or '\''); 1727var afterBackslashPosition = _lexer.Position; 1743var afterBackslashPosition = _lexer.Position - @"k".Length; 1777if (_lexer.Position < _lexer.Text.Length && 1807Debug.Assert(_lexer.Text[_lexer.Position - 1] == '\\'); 1931Debug.Assert(_lexer.Text[_lexer.Position - 1] is var ch && (ch == 'P' || ch == 'p')); 1934var start = _lexer.Position; 1964if (_lexer.Text.Length - _lexer.Position < "{x}".Length)