1 write to _lexer
Microsoft.CodeAnalysis.Features (1)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (1)
96
_lexer
= new RegexLexer(text);
101 references to _lexer
Microsoft.CodeAnalysis.Features (101)
EmbeddedLanguages\RegularExpressions\RegexParser.cs (101)
120
_currentToken =
_lexer
.ScanNextToken(allowTrivia, _options);
170
Debug.Assert(
_lexer
.Position ==
_lexer
.Text.Length);
180
_lexer
.Text, root, diagnostics.ToImmutable(),
469
var start =
_lexer
.Position;
478
_lexer
.Position = start;
513
var firstNumber =
_lexer
.TryScanNumber();
528
var start =
_lexer
.Position;
529
secondNumberToken =
_lexer
.TryScanNumber();
568
_lexer
.Position = position;
595
var start =
_lexer
.Position;
651
var start =
_lexer
.Position;
664
_lexer
.Position = start;
713
? new TextSpan(
_lexer
.Text.Last().Span.End, 0)
719
var optionsToken =
_lexer
.TryScanOptions();
725
var afterQuestionPos =
_lexer
.Position;
772
_lexer
.Position = afterQuestionPos - 1;
779
var afterInnerOpenParen =
_lexer
.Position;
781
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
826
_lexer
.Position = afterInnerOpenParen;
836
_lexer
.Position = afterInnerOpenParen;
866
_lexer
.Position--;
878
_lexer
.Position--;
879
if (
_lexer
.IsAt("(?#"))
881
var pos =
_lexer
.Position;
882
var comment =
_lexer
.ScanComment(options: default);
884
_lexer
.Position = pos;
897
else if (
_lexer
.IsAt("(?'"))
903
else if (
_lexer
.IsAt("(?<"))
905
if (!
_lexer
.IsAt("(?<!") &&
906
!
_lexer
.IsAt("(?<="))
943
var start =
_lexer
.Position;
962
_lexer
.Position = start;
970
if (
_lexer
.Position ==
_lexer
.Text.Length)
979
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1051
_lexer
.Position--;
1064
var secondCapture =
_lexer
.TryScanNumberOrCaptureName();
1286
if (_currentToken.Kind == RegexKind.MinusToken && !
_lexer
.IsAt("]"))
1476
if (_currentToken.Kind == RegexKind.BackslashToken &&
_lexer
.Position <
_lexer
.Text.Length)
1508
_lexer
.Position--;
1527
_lexer
.Position--;
1535
_lexer
.IsAt("["))
1546
if (!afterRangeMinus && _currentToken.Kind == RegexKind.OpenBracketToken &&
_lexer
.IsAt(":"))
1548
var beforeBracketPos =
_lexer
.Position - 1;
1552
var captureName =
_lexer
.TryScanCaptureName();
1553
if (captureName.HasValue &&
_lexer
.IsAt(":]"))
1555
_lexer
.Position += 2;
1556
var textChars =
_lexer
.GetSubPattern(beforeBracketPos,
_lexer
.Position);
1567
_lexer
.Position = beforeBracketPos;
1599
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1639
_lexer
.Position--;
1645
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1667
_lexer
.Position--;
1673
_lexer
.Position--;
1677
_lexer
.Position--;
1683
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1698
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1699
var start =
_lexer
.Position;
1703
while (
_lexer
.Position <
_lexer
.Text.Length &&
1704
_lexer
.Text[
_lexer
.Position] is var ch &&
1713
_lexer
.Position++;
1717
bestPosition =
_lexer
.Position;
1725
_lexer
.GetSubPattern(start, bestPosition)).With(value: capVal);
1730
_lexer
.Position = start;
1737
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1738
var start =
_lexer
.Position;
1740
var number =
_lexer
.TryScanNumber();
1753
_lexer
.Position = start;
1759
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1760
Debug.Assert(
_lexer
.Text[
_lexer
.Position].Value is '<' or '\'');
1762
var afterBackslashPosition =
_lexer
.Position;
1767
_lexer
.Position = afterBackslashPosition;
1778
var afterBackslashPosition =
_lexer
.Position - @"k".Length;
1794
_lexer
.Position = afterBackslashPosition;
1812
if (
_lexer
.Position <
_lexer
.Text.Length &&
1822
var captureToken =
_lexer
.TryScanNumberOrCaptureName();
1842
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] == '\\');
1851
_lexer
.Position--;
1852
var octalDigits =
_lexer
.ScanOctalCharacters(_options);
1894
var hexChars =
_lexer
.ScanHexCharacters(4);
1902
var hexChars =
_lexer
.ScanHexCharacters(2);
1966
Debug.Assert(
_lexer
.Text[
_lexer
.Position - 1] is var ch && (ch == 'P' || ch == 'p'));
1969
var start =
_lexer
.Position;
1999
if (
_lexer
.Text.Length -
_lexer
.Position < "{x}".Length)
2015
var category =
_lexer
.TryScanEscapeCategory();