1 write to _lexer
Microsoft.CodeAnalysis.Features (1)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (1)
94
_lexer
= new RegexLexer(text);
95 references to _lexer
Microsoft.CodeAnalysis.Features (95)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (95)
118
_currentToken =
_lexer
.ScanNextToken(allowTrivia, _options);
168
Debug.Assert(
_lexer
.Position ==
_lexer
.Text.Length);
178
_lexer
.Text, root, diagnostics.ToImmutable(),
299
MergeTextNodes(
_lexer
.Text, builder, sequence);
488
var start =
_lexer
.Position;
497
_lexer
.Position = start;
532
var firstNumber =
_lexer
.TryScanNumber();
547
var start =
_lexer
.Position;
548
secondNumberToken =
_lexer
.TryScanNumber();
587
_lexer
.Position = position;
614
var start =
_lexer
.Position;
670
var start =
_lexer
.Position;
683
_lexer
.Position = start;
732
? new TextSpan(
_lexer
.Text[^1].Span.End, 0)
742
var optionsToken =
_lexer
.TryScanOptions();
747
var afterQuestionPos =
_lexer
.Position;
794
_lexer
.Position = afterQuestionPos - 1;
801
var afterInnerOpenParen =
_lexer
.Position;
803
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
848
_lexer
.Position = afterInnerOpenParen;
858
_lexer
.Position = afterInnerOpenParen;
888
_lexer
.Position--;
900
_lexer
.Position--;
901
if (
_lexer
.IsAt("(?#"))
903
var pos =
_lexer
.Position;
904
var comment =
_lexer
.ScanComment(options: default);
906
_lexer
.Position = pos;
919
else if (
_lexer
.IsAt("(?'"))
925
else if (
_lexer
.IsAt("(?<"))
927
if (!
_lexer
.IsAt("(?<!") &&
928
!
_lexer
.IsAt("(?<="))
965
var start =
_lexer
.Position;
984
_lexer
.Position = start;
992
if (
_lexer
.Position ==
_lexer
.Text.Length)
1001
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1073
_lexer
.Position--;
1086
var secondCapture =
_lexer
.TryScanNumberOrCaptureName();
1280
MergeTextNodes(
_lexer
.Text, builder, contents);
1307
if (_currentToken.Kind == RegexKind.MinusToken && !
_lexer
.IsAt("]"))
1491
if (_currentToken.Kind == RegexKind.BackslashToken &&
_lexer
.Position <
_lexer
.Text.Length)
1523
_lexer
.Position--;
1542
_lexer
.Position--;
1550
_lexer
.IsAt("["))
1584
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1624
_lexer
.Position--;
1630
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1652
_lexer
.Position--;
1658
_lexer
.Position--;
1662
_lexer
.Position--;
1668
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1683
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1684
var start =
_lexer
.Position;
1688
while (
_lexer
.Position <
_lexer
.Text.Length &&
1689
_lexer
.Text[
_lexer
.Position] is var ch &&
1698
_lexer
.Position++;
1702
bestPosition =
_lexer
.Position;
1710
_lexer
.GetSubPattern(start, bestPosition)).With(value: capVal);
1715
_lexer
.Position = start;
1722
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1723
var start =
_lexer
.Position;
1725
var number =
_lexer
.TryScanNumber();
1738
_lexer
.Position = start;
1744
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1745
Debug.Assert(
_lexer
.Text[
_lexer
.Position].Value is '<' or '\'');
1747
var afterBackslashPosition =
_lexer
.Position;
1752
_lexer
.Position = afterBackslashPosition;
1763
var afterBackslashPosition =
_lexer
.Position - @"k".Length;
1779
_lexer
.Position = afterBackslashPosition;
1797
if (
_lexer
.Position <
_lexer
.Text.Length &&
1807
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1827
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1836
_lexer
.Position--;
1837
var octalDigits =
_lexer
.ScanOctalCharacters(_options);
1879
var hexChars =
_lexer
.ScanHexCharacters(4);
1887
var hexChars =
_lexer
.ScanHexCharacters(2);
1951
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] is var ch && (ch == 'P' || ch == 'p'));
1954
var start =
_lexer
.Position;
1984
if (
_lexer
.Text.Length -
_lexer
.Position < "{x}".Length)
2000
var category =
_lexer
.TryScanEscapeCategory();