1 write to _lexer
Microsoft.CodeAnalysis.Features (1)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (1)
94
_lexer
= new RegexLexer(text);
93 references to _lexer
Microsoft.CodeAnalysis.Features (93)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (93)
118
_currentToken =
_lexer
.ScanNextToken(allowTrivia, _options);
168
Debug.Assert(
_lexer
.Position ==
_lexer
.Text.Length);
178
_lexer
.Text, root, diagnostics.ToImmutable(),
467
var start =
_lexer
.Position;
476
_lexer
.Position = start;
511
var firstNumber =
_lexer
.TryScanNumber();
526
var start =
_lexer
.Position;
527
secondNumberToken =
_lexer
.TryScanNumber();
566
_lexer
.Position = position;
593
var start =
_lexer
.Position;
649
var start =
_lexer
.Position;
662
_lexer
.Position = start;
711
? new TextSpan(
_lexer
.Text.Last().Span.End, 0)
721
var optionsToken =
_lexer
.TryScanOptions();
726
var afterQuestionPos =
_lexer
.Position;
773
_lexer
.Position = afterQuestionPos - 1;
780
var afterInnerOpenParen =
_lexer
.Position;
782
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
827
_lexer
.Position = afterInnerOpenParen;
837
_lexer
.Position = afterInnerOpenParen;
867
_lexer
.Position--;
879
_lexer
.Position--;
880
if (
_lexer
.IsAt("(?#"))
882
var pos =
_lexer
.Position;
883
var comment =
_lexer
.ScanComment(options: default);
885
_lexer
.Position = pos;
898
else if (
_lexer
.IsAt("(?'"))
904
else if (
_lexer
.IsAt("(?<"))
906
if (!
_lexer
.IsAt("(?<!") &&
907
!
_lexer
.IsAt("(?<="))
944
var start =
_lexer
.Position;
963
_lexer
.Position = start;
971
if (
_lexer
.Position ==
_lexer
.Text.Length)
980
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1052
_lexer
.Position--;
1065
var secondCapture =
_lexer
.TryScanNumberOrCaptureName();
1286
if (_currentToken.Kind == RegexKind.MinusToken && !
_lexer
.IsAt("]"))
1470
if (_currentToken.Kind == RegexKind.BackslashToken &&
_lexer
.Position <
_lexer
.Text.Length)
1502
_lexer
.Position--;
1521
_lexer
.Position--;
1529
_lexer
.IsAt("["))
1563
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1603
_lexer
.Position--;
1609
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1631
_lexer
.Position--;
1637
_lexer
.Position--;
1641
_lexer
.Position--;
1647
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1662
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1663
var start =
_lexer
.Position;
1667
while (
_lexer
.Position <
_lexer
.Text.Length &&
1668
_lexer
.Text[
_lexer
.Position] is var ch &&
1677
_lexer
.Position++;
1681
bestPosition =
_lexer
.Position;
1689
_lexer
.GetSubPattern(start, bestPosition)).With(value: capVal);
1694
_lexer
.Position = start;
1701
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1702
var start =
_lexer
.Position;
1704
var number =
_lexer
.TryScanNumber();
1717
_lexer
.Position = start;
1723
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1724
Debug.Assert(
_lexer
.Text[
_lexer
.Position].Value is '<' or '\'');
1726
var afterBackslashPosition =
_lexer
.Position;
1731
_lexer
.Position = afterBackslashPosition;
1742
var afterBackslashPosition =
_lexer
.Position - @"k".Length;
1758
_lexer
.Position = afterBackslashPosition;
1776
if (
_lexer
.Position <
_lexer
.Text.Length &&
1786
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1806
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1815
_lexer
.Position--;
1816
var octalDigits =
_lexer
.ScanOctalCharacters(_options);
1858
var hexChars =
_lexer
.ScanHexCharacters(4);
1866
var hexChars =
_lexer
.ScanHexCharacters(2);
1930
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] is var ch && (ch == 'P' || ch == 'p'));
1933
var start =
_lexer
.Position;
1963
if (
_lexer
.Text.Length -
_lexer
.Position < "{x}".Length)
1979
var category =
_lexer
.TryScanEscapeCategory();