1 write to _lexer
Microsoft.CodeAnalysis.CSharp (1)
Parser\Lexer_StringLiteral.cs (1)
357
_lexer
= lexer;
127 references to _lexer
Microsoft.CodeAnalysis.CSharp (127)
Parser\Lexer_StringLiteral.cs (127)
368
char ch =
_lexer
.TextWindow.PeekChar();
371
(ch == SlidingTextWindow.InvalidCharacter &&
_lexer
.TextWindow.IsReallyAtEnd());
388
var start =
_lexer
.TextWindow.Position;
390
Debug.Assert(
_lexer
.TextWindow.Position != start);
392
openQuoteRange = start..
_lexer
.TextWindow.Position;
398
closeQuoteRange =
_lexer
.TextWindow.Position..
_lexer
.TextWindow.Position;
421
ref var window = ref
_lexer
.TextWindow;
453
var prefixAtCount =
_lexer
.ConsumeAtSignSequence();
454
startingDollarSignCount =
_lexer
.ConsumeDollarSignSequence();
456
var suffixAtCount =
_lexer
.ConsumeAtSignSequence();
457
startingQuoteCount =
_lexer
.ConsumeQuoteSequence();
480
TrySetError(
_lexer
.MakeError(start, window.Position - start, ErrorCode.ERR_StringMustStartWithQuoteCharacter));
491
TrySetError(
_lexer
.MakeError(start, window.Position - start, ErrorCode.ERR_IllegalAtSequence));
497
TrySetError(
_lexer
.MakeError(window.Position - startingQuoteCount, startingQuoteCount, ErrorCode.ERR_NotEnoughQuotesForRawString));
503
_lexer
.ConsumeWhitespace();
526
var closeQuotePosition =
_lexer
.TextWindow.Position;
538
_lexer
.ScanUtf8Suffix();
543
closeQuoteRange = closeQuotePosition..
_lexer
.TextWindow.Position;
550
if (
_lexer
.TextWindow.PeekChar() != '"')
556
TrySetError(
_lexer
.MakeError(
557
IsAtEnd(allowNewline: true) ?
_lexer
.TextWindow.Position - 1 :
_lexer
.TextWindow.Position,
563
_lexer
.TextWindow.AdvanceChar(); // "
573
if (
_lexer
.TextWindow.PeekChar() != '"')
579
TrySetError(
_lexer
.MakeError(
580
_lexer
.TextWindow.Position,
581
width: SyntaxFacts.IsNewLine(
_lexer
.TextWindow.PeekChar()) ? 1 : 0, ErrorCode.ERR_UnterminatedRawString));
585
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
597
TrySetError(
_lexer
.MakeError(
598
position:
_lexer
.TextWindow.Position - excessQuoteCount,
614
TrySetError(
_lexer
.MakeError(
615
_lexer
.TextWindow.Position, width: 0, ErrorCode.ERR_UnterminatedRawString));
617
else if (
_lexer
.TextWindow.PeekChar() == '"')
620
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
625
TrySetError(
_lexer
.MakeError(
626
position:
_lexer
.TextWindow.Position - closeQuoteCount,
632
_lexer
.TextWindow.AdvancePastNewLine();
633
_lexer
.ConsumeWhitespace();
635
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
644
TrySetError(
_lexer
.MakeError(
645
position:
_lexer
.TextWindow.Position - excessQuoteCount,
677
switch (
_lexer
.TextWindow.PeekChar())
697
var escapeStart =
_lexer
.TextWindow.Position;
698
char ch =
_lexer
.ScanEscapeSequence(surrogateCharacter: out _);
701
TrySetError(
_lexer
.MakeError(escapeStart,
_lexer
.TextWindow.Position - escapeStart, ErrorCode.ERR_EscapedCurly, ch));
706
_lexer
.TextWindow.AdvanceChar();
713
_lexer
.TextWindow.AdvanceChar();
723
_lexer
.ConsumeWhitespace();
724
var beforeQuotesPosition =
_lexer
.TextWindow.Position;
725
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
731
this.TrySetError(
_lexer
.MakeError(
732
_lexer
.TextWindow.Position - closeQuoteCount, closeQuoteCount, ErrorCode.ERR_RawStringMustContainContent));
733
_lexer
.TextWindow.Reset(beforeQuotesPosition);
747
var startPosition =
_lexer
.TextWindow.Position;
748
if (SyntaxFacts.IsNewLine(
_lexer
.TextWindow.PeekChar()))
750
_lexer
.TextWindow.AdvancePastNewLine();
751
_lexer
.ConsumeWhitespace();
752
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
754
_lexer
.TextWindow.Reset(startPosition);
790
if (
_lexer
.TextWindow.PeekChar(1) != '"')
796
_lexer
.TextWindow.AdvanceChar(2); // ""
802
var beforeQuotePosition =
_lexer
.TextWindow.Position;
803
var currentQuoteCount =
_lexer
.ConsumeQuoteSequence();
809
_lexer
.TextWindow.Reset(beforeQuotePosition);
822
var pos =
_lexer
.TextWindow.Position;
823
_lexer
.TextWindow.AdvanceChar(); // }
826
if (
_lexer
.TextWindow.PeekChar() == '}')
828
_lexer
.TextWindow.AdvanceChar(); // }
832
TrySetError(
_lexer
.MakeError(pos, 1, ErrorCode.ERR_UnescapedCurly, "}"));
844
var closeBraceCount =
_lexer
.ConsumeCloseBraceSequence();
847
TrySetError(
_lexer
.MakeError(
848
position:
_lexer
.TextWindow.Position - closeBraceCount,
870
if (
_lexer
.TextWindow.PeekChar(1) == '{')
872
_lexer
.TextWindow.AdvanceChar(2); // {{
876
int openBracePosition =
_lexer
.TextWindow.Position;
877
_lexer
.TextWindow.AdvanceChar();
879
int closeBracePosition =
_lexer
.TextWindow.Position;
880
if (
_lexer
.TextWindow.PeekChar() == '}')
882
_lexer
.TextWindow.AdvanceChar();
886
TrySetError(
_lexer
.MakeError(openBracePosition - 1, 2, ErrorCode.ERR_UnclosedExpressionHole));
892
new Range(closeBracePosition,
_lexer
.TextWindow.Position)));
905
var beforeOpenBracesPosition =
_lexer
.TextWindow.Position;
906
var openBraceCount =
_lexer
.ConsumeOpenBraceSequence();
913
var afterOpenBracePosition =
_lexer
.TextWindow.Position;
918
TrySetError(
_lexer
.MakeError(
927
var beforeCloseBracePosition =
_lexer
.TextWindow.Position;
928
var closeBraceCount =
_lexer
.ConsumeCloseBraceSequence();
933
TrySetError(
_lexer
.MakeError(
941
TrySetError(
_lexer
.MakeError(
950
_lexer
.TextWindow.Reset(beforeCloseBracePosition + startingDollarSignCount);
956
beforeCloseBracePosition..
_lexer
.TextWindow.Position));
972
Debug.Assert(
_lexer
.TextWindow.PeekChar() == ':');
973
_lexer
.TextWindow.AdvanceChar();
976
char ch =
_lexer
.TextWindow.PeekChar();
980
var pos =
_lexer
.TextWindow.Position;
981
ch =
_lexer
.ScanEscapeSequence(surrogateCharacter: out _);
984
TrySetError(
_lexer
.MakeError(pos, 1, ErrorCode.ERR_EscapedCurly, ch));
989
if (kind is InterpolatedStringKind.Verbatim &&
_lexer
.TextWindow.PeekChar(1) == '"')
991
_lexer
.TextWindow.AdvanceChar(2); // ""
1000
TrySetError(
_lexer
.MakeError(
1001
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_UnexpectedCharacter, ch));
1002
_lexer
.TextWindow.AdvanceChar();
1014
_lexer
.TextWindow.AdvanceChar();
1027
char ch =
_lexer
.TextWindow.PeekChar();
1041
TrySetError(
_lexer
.MakeError(
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_SyntaxError, endingChar.ToString()));
1042
_lexer
.TextWindow.AdvanceChar();
1047
if (
_lexer
.TryScanInterpolatedString(ref discarded))
1059
colonRange = new Range(
_lexer
.TextWindow.Position,
_lexer
.TextWindow.Position + 1);
1073
TrySetError(
_lexer
.MakeError(
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_SyntaxError, endingChar.ToString()));
1096
if (
_lexer
.TryScanAtStringToken(ref discarded))
1099
if (
_lexer
.TextWindow.PeekChar(1) == '*')
1103
_lexer
.ScanMultiLineComment(isTerminated: out _, delimiter: '@');
1111
switch (
_lexer
.TextWindow.PeekChar(1))
1114
_lexer
.ScanToEndOfLine();
1117
_lexer
.ScanMultiLineComment(isTerminated: out _, '/');
1120
_lexer
.TextWindow.AdvanceChar();
1137
_lexer
.TextWindow.AdvanceChar();
1153
_lexer
.ScanStringLiteral(ref info, inDirective: false);
1158
Debug.Assert(start ==
_lexer
.TextWindow.PeekChar());
1159
_lexer
.TextWindow.AdvanceChar();
1161
if (
_lexer
.TextWindow.PeekChar() == end)
1163
_lexer
.TextWindow.AdvanceChar();