1 write to _lexer
Microsoft.CodeAnalysis.CSharp (1)
Parser\Lexer_StringLiteral.cs (1)
344
_lexer
= lexer;
124 references to _lexer
Microsoft.CodeAnalysis.CSharp (124)
Parser\Lexer_StringLiteral.cs (124)
354
char ch =
_lexer
.TextWindow.PeekChar();
357
(ch == SlidingTextWindow.InvalidCharacter &&
_lexer
.TextWindow.IsReallyAtEnd());
374
var start =
_lexer
.TextWindow.Position;
376
Debug.Assert(
_lexer
.TextWindow.Position != start);
378
openQuoteRange = start..
_lexer
.TextWindow.Position;
384
closeQuoteRange =
_lexer
.TextWindow.Position..
_lexer
.TextWindow.Position;
407
var window =
_lexer
.TextWindow;
439
var prefixAtCount =
_lexer
.ConsumeAtSignSequence();
440
startingDollarSignCount =
_lexer
.ConsumeDollarSignSequence();
443
var suffixAtCount =
_lexer
.ConsumeAtSignSequence();
444
startingQuoteCount =
_lexer
.ConsumeQuoteSequence();
457
TrySetError(
_lexer
.MakeError(start, window.Position - start, ErrorCode.ERR_StringMustStartWithQuoteCharacter));
468
TrySetError(
_lexer
.MakeError(start, window.Position - start, ErrorCode.ERR_IllegalAtSequence));
474
TrySetError(
_lexer
.MakeError(window.Position - startingQuoteCount, startingQuoteCount, ErrorCode.ERR_NotEnoughQuotesForRawString));
480
_lexer
.ConsumeWhitespace(builder: null);
503
var closeQuotePosition =
_lexer
.TextWindow.Position;
517
closeQuoteRange = closeQuotePosition..
_lexer
.TextWindow.Position;
524
if (
_lexer
.TextWindow.PeekChar() != '"')
530
TrySetError(
_lexer
.MakeError(
531
IsAtEnd(allowNewline: true) ?
_lexer
.TextWindow.Position - 1 :
_lexer
.TextWindow.Position,
537
_lexer
.TextWindow.AdvanceChar(); // "
547
if (
_lexer
.TextWindow.PeekChar() != '"')
553
TrySetError(
_lexer
.MakeError(
554
IsAtEnd(allowNewline: true) ?
_lexer
.TextWindow.Position - 1 :
_lexer
.TextWindow.Position,
559
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
571
TrySetError(
_lexer
.MakeError(
572
position:
_lexer
.TextWindow.Position - excessQuoteCount,
588
TrySetError(
_lexer
.MakeError(
589
_lexer
.TextWindow.Position - 1, width: 1, ErrorCode.ERR_UnterminatedRawString));
591
else if (
_lexer
.TextWindow.PeekChar() == '"')
594
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
599
TrySetError(
_lexer
.MakeError(
600
position:
_lexer
.TextWindow.Position - closeQuoteCount,
606
_lexer
.TextWindow.AdvancePastNewLine();
607
_lexer
.ConsumeWhitespace(builder: null);
609
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
618
TrySetError(
_lexer
.MakeError(
619
position:
_lexer
.TextWindow.Position - excessQuoteCount,
651
switch (
_lexer
.TextWindow.PeekChar())
671
var escapeStart =
_lexer
.TextWindow.Position;
672
char ch =
_lexer
.ScanEscapeSequence(surrogateCharacter: out _);
675
TrySetError(
_lexer
.MakeError(escapeStart,
_lexer
.TextWindow.Position - escapeStart, ErrorCode.ERR_EscapedCurly, ch));
680
_lexer
.TextWindow.AdvanceChar();
687
_lexer
.TextWindow.AdvanceChar();
697
_lexer
.ConsumeWhitespace(builder: null);
698
var beforeQuotesPosition =
_lexer
.TextWindow.Position;
699
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
705
this.TrySetError(
_lexer
.MakeError(
706
_lexer
.TextWindow.Position - closeQuoteCount, closeQuoteCount, ErrorCode.ERR_RawStringMustContainContent));
707
_lexer
.TextWindow.Reset(beforeQuotesPosition);
721
var startPosition =
_lexer
.TextWindow.Position;
722
if (SyntaxFacts.IsNewLine(
_lexer
.TextWindow.PeekChar()))
724
_lexer
.TextWindow.AdvancePastNewLine();
725
_lexer
.ConsumeWhitespace(builder: null);
726
var closeQuoteCount =
_lexer
.ConsumeQuoteSequence();
728
_lexer
.TextWindow.Reset(startPosition);
764
if (
_lexer
.TextWindow.PeekChar(1) != '"')
770
_lexer
.TextWindow.AdvanceChar(2); // ""
776
var beforeQuotePosition =
_lexer
.TextWindow.Position;
777
var currentQuoteCount =
_lexer
.ConsumeQuoteSequence();
783
_lexer
.TextWindow.Reset(beforeQuotePosition);
796
var pos =
_lexer
.TextWindow.Position;
797
_lexer
.TextWindow.AdvanceChar(); // }
800
if (
_lexer
.TextWindow.PeekChar() == '}')
802
_lexer
.TextWindow.AdvanceChar(); // }
806
TrySetError(
_lexer
.MakeError(pos, 1, ErrorCode.ERR_UnescapedCurly, "}"));
818
var closeBraceCount =
_lexer
.ConsumeCloseBraceSequence();
821
TrySetError(
_lexer
.MakeError(
822
position:
_lexer
.TextWindow.Position - closeBraceCount,
844
if (
_lexer
.TextWindow.PeekChar(1) == '{')
846
_lexer
.TextWindow.AdvanceChar(2); // {{
850
int openBracePosition =
_lexer
.TextWindow.Position;
851
_lexer
.TextWindow.AdvanceChar();
853
int closeBracePosition =
_lexer
.TextWindow.Position;
854
if (
_lexer
.TextWindow.PeekChar() == '}')
856
_lexer
.TextWindow.AdvanceChar();
860
TrySetError(
_lexer
.MakeError(openBracePosition - 1, 2, ErrorCode.ERR_UnclosedExpressionHole));
866
new Range(closeBracePosition,
_lexer
.TextWindow.Position)));
879
var beforeOpenBracesPosition =
_lexer
.TextWindow.Position;
880
var openBraceCount =
_lexer
.ConsumeOpenBraceSequence();
887
var afterOpenBracePosition =
_lexer
.TextWindow.Position;
892
TrySetError(
_lexer
.MakeError(
901
var beforeCloseBracePosition =
_lexer
.TextWindow.Position;
902
var closeBraceCount =
_lexer
.ConsumeCloseBraceSequence();
907
TrySetError(
_lexer
.MakeError(
915
TrySetError(
_lexer
.MakeError(
924
_lexer
.TextWindow.Reset(beforeCloseBracePosition + startingDollarSignCount);
930
beforeCloseBracePosition..
_lexer
.TextWindow.Position));
946
Debug.Assert(
_lexer
.TextWindow.PeekChar() == ':');
947
_lexer
.TextWindow.AdvanceChar();
950
char ch =
_lexer
.TextWindow.PeekChar();
954
var pos =
_lexer
.TextWindow.Position;
955
ch =
_lexer
.ScanEscapeSequence(surrogateCharacter: out _);
958
TrySetError(
_lexer
.MakeError(pos, 1, ErrorCode.ERR_EscapedCurly, ch));
963
if (kind is InterpolatedStringKind.Verbatim &&
_lexer
.TextWindow.PeekChar(1) == '"')
965
_lexer
.TextWindow.AdvanceChar(2); // ""
974
TrySetError(
_lexer
.MakeError(
975
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_UnexpectedCharacter, ch));
976
_lexer
.TextWindow.AdvanceChar();
988
_lexer
.TextWindow.AdvanceChar();
1001
char ch =
_lexer
.TextWindow.PeekChar();
1015
TrySetError(
_lexer
.MakeError(
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_SyntaxError, endingChar.ToString()));
1016
_lexer
.TextWindow.AdvanceChar();
1021
if (
_lexer
.TryScanInterpolatedString(ref discarded))
1033
colonRange = new Range(
_lexer
.TextWindow.Position,
_lexer
.TextWindow.Position + 1);
1047
TrySetError(
_lexer
.MakeError(
_lexer
.TextWindow.Position, 1, ErrorCode.ERR_SyntaxError, endingChar.ToString()));
1070
if (
_lexer
.TryScanAtStringToken(ref discarded))
1077
switch (
_lexer
.TextWindow.PeekChar(1))
1080
_lexer
.ScanToEndOfLine();
1083
_lexer
.ScanMultiLineComment(out _);
1086
_lexer
.TextWindow.AdvanceChar();
1103
_lexer
.TextWindow.AdvanceChar();
1119
_lexer
.ScanStringLiteral(ref info, inDirective: false);
1124
Debug.Assert(start ==
_lexer
.TextWindow.PeekChar());
1125
_lexer
.TextWindow.AdvanceChar();
1127
if (
_lexer
.TextWindow.PeekChar() == end)
1129
_lexer
.TextWindow.AdvanceChar();