1 write to _lexer
Microsoft.CodeAnalysis.Features (1)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (1)
95
_lexer
= new RegexLexer(text);
93 references to _lexer
Microsoft.CodeAnalysis.Features (93)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (93)
119
_currentToken =
_lexer
.ScanNextToken(allowTrivia, _options);
169
Debug.Assert(
_lexer
.Position ==
_lexer
.Text.Length);
179
_lexer
.Text, root, diagnostics.ToImmutable(),
468
var start =
_lexer
.Position;
477
_lexer
.Position = start;
512
var firstNumber =
_lexer
.TryScanNumber();
527
var start =
_lexer
.Position;
528
secondNumberToken =
_lexer
.TryScanNumber();
567
_lexer
.Position = position;
594
var start =
_lexer
.Position;
650
var start =
_lexer
.Position;
663
_lexer
.Position = start;
712
? new TextSpan(
_lexer
.Text.Last().Span.End, 0)
722
var optionsToken =
_lexer
.TryScanOptions();
727
var afterQuestionPos =
_lexer
.Position;
774
_lexer
.Position = afterQuestionPos - 1;
781
var afterInnerOpenParen =
_lexer
.Position;
783
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
828
_lexer
.Position = afterInnerOpenParen;
838
_lexer
.Position = afterInnerOpenParen;
868
_lexer
.Position--;
880
_lexer
.Position--;
881
if (
_lexer
.IsAt("(?#"))
883
var pos =
_lexer
.Position;
884
var comment =
_lexer
.ScanComment(options: default);
886
_lexer
.Position = pos;
899
else if (
_lexer
.IsAt("(?'"))
905
else if (
_lexer
.IsAt("(?<"))
907
if (!
_lexer
.IsAt("(?<!") &&
908
!
_lexer
.IsAt("(?<="))
945
var start =
_lexer
.Position;
964
_lexer
.Position = start;
972
if (
_lexer
.Position ==
_lexer
.Text.Length)
981
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1053
_lexer
.Position--;
1066
var secondCapture =
_lexer
.TryScanNumberOrCaptureName();
1287
if (_currentToken.Kind == RegexKind.MinusToken && !
_lexer
.IsAt("]"))
1471
if (_currentToken.Kind == RegexKind.BackslashToken &&
_lexer
.Position <
_lexer
.Text.Length)
1503
_lexer
.Position--;
1522
_lexer
.Position--;
1530
_lexer
.IsAt("["))
1564
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1604
_lexer
.Position--;
1610
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1632
_lexer
.Position--;
1638
_lexer
.Position--;
1642
_lexer
.Position--;
1648
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1663
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1664
var start =
_lexer
.Position;
1668
while (
_lexer
.Position <
_lexer
.Text.Length &&
1669
_lexer
.Text[
_lexer
.Position] is var ch &&
1678
_lexer
.Position++;
1682
bestPosition =
_lexer
.Position;
1690
_lexer
.GetSubPattern(start, bestPosition)).With(value: capVal);
1695
_lexer
.Position = start;
1702
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1703
var start =
_lexer
.Position;
1705
var number =
_lexer
.TryScanNumber();
1718
_lexer
.Position = start;
1724
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1725
Debug.Assert(
_lexer
.Text[
_lexer
.Position].Value is '<' or '\'');
1727
var afterBackslashPosition =
_lexer
.Position;
1732
_lexer
.Position = afterBackslashPosition;
1743
var afterBackslashPosition =
_lexer
.Position - @"k".Length;
1759
_lexer
.Position = afterBackslashPosition;
1777
if (
_lexer
.Position <
_lexer
.Text.Length &&
1787
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1807
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1816
_lexer
.Position--;
1817
var octalDigits =
_lexer
.ScanOctalCharacters(_options);
1859
var hexChars =
_lexer
.ScanHexCharacters(4);
1867
var hexChars =
_lexer
.ScanHexCharacters(2);
1931
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] is var ch && (ch == 'P' || ch == 'p'));
1934
var start =
_lexer
.Position;
1964
if (
_lexer
.Text.Length -
_lexer
.Position < "{x}".Length)
1980
var category =
_lexer
.TryScanEscapeCategory();