1 instantiation of SlidingTextWindow
Microsoft.CodeAnalysis.CSharp (1)
Parser\AbstractLexer.cs (1)
24
this.TextWindow = new
SlidingTextWindow
(text);
66 references to SlidingTextWindow
Microsoft.CodeAnalysis.CSharp (53)
Parser\AbstractLexer.cs (1)
17
internal
SlidingTextWindow
TextWindow;
Parser\LanguageParser_InterpolatedString.cs (2)
144
var afterNewLine =
SlidingTextWindow
.GetNewLineWidth(closeQuoteText[0], closeQuoteText[1]);
343
currentIndex +=
SlidingTextWindow
.GetNewLineWidth(ch, currentIndex + 1 < text.Length ? text[currentIndex + 1] : '\0');
Parser\Lexer.cs (38)
684
case
SlidingTextWindow
.InvalidCharacter:
1452
char surrogateCharacter =
SlidingTextWindow
.InvalidCharacter;
1476
case
SlidingTextWindow
.InvalidCharacter:
1589
if (surrogateCharacter !=
SlidingTextWindow
.InvalidCharacter)
1688
consumedSurrogate =
SlidingTextWindow
.InvalidCharacter;
1710
Debug.Assert(consumedSurrogate ==
SlidingTextWindow
.InvalidCharacter, "Since consumedChar == '\\'");
1756
case
SlidingTextWindow
.InvalidCharacter:
1791
if (consumedSurrogate !=
SlidingTextWindow
.InvalidCharacter)
2144
if (ch ==
SlidingTextWindow
.InvalidCharacter)
2197
if (ch ==
SlidingTextWindow
.InvalidCharacter || SyntaxFacts.IsNewLine(ch))
2232
if ((ch = TextWindow.PeekChar()) ==
SlidingTextWindow
.InvalidCharacter && TextWindow.IsReallyAtEnd())
2254
(ch !=
SlidingTextWindow
.InvalidCharacter || !TextWindow.IsReallyAtEnd()))
2443
case
SlidingTextWindow
.InvalidCharacter:
2513
else if (ch is
SlidingTextWindow
.InvalidCharacter && this.TextWindow.IsReallyAtEnd())
2568
case
SlidingTextWindow
.InvalidCharacter:
2822
Debug.Assert(this.LocationIs(XmlDocCommentLocation.End) || TextWindow.PeekChar() ==
SlidingTextWindow
.InvalidCharacter);
2883
case
SlidingTextWindow
.InvalidCharacter:
3055
if (lowSurrogate !=
SlidingTextWindow
.InvalidCharacter)
3147
case
SlidingTextWindow
.InvalidCharacter:
3280
case
SlidingTextWindow
.InvalidCharacter:
3445
case
SlidingTextWindow
.InvalidCharacter:
3501
case
SlidingTextWindow
.InvalidCharacter:
3571
case
SlidingTextWindow
.InvalidCharacter:
3627
char consumedSurrogate =
SlidingTextWindow
.InvalidCharacter;
3656
case
SlidingTextWindow
.InvalidCharacter:
3929
&& nextChar == ch && nextSurrogate ==
SlidingTextWindow
.InvalidCharacter)
4048
case
SlidingTextWindow
.InvalidCharacter:
4092
case
SlidingTextWindow
.InvalidCharacter:
4179
case
SlidingTextWindow
.InvalidCharacter:
4222
case
SlidingTextWindow
.InvalidCharacter:
4301
case
SlidingTextWindow
.InvalidCharacter:
4346
case
SlidingTextWindow
.InvalidCharacter:
4604
surrogateCharacter =
SlidingTextWindow
.InvalidCharacter;
4624
Debug.Assert(ch !=
SlidingTextWindow
.InvalidCharacter, "Precondition established by all callers; required for correctness of AdvanceChar() call.");
4634
surrogateCharacter =
SlidingTextWindow
.InvalidCharacter;
4647
surrogateCharacter =
SlidingTextWindow
.InvalidCharacter;
4761
surrogate =
SlidingTextWindow
.InvalidCharacter;
4865
lowSurrogate =
SlidingTextWindow
.InvalidCharacter;
Parser\Lexer_RawStringLiteral.cs (1)
55
=> currentChar ==
SlidingTextWindow
.InvalidCharacter && TextWindow.IsReallyAtEnd();
Parser\Lexer_StringLiteral.cs (7)
47
if (c2 !=
SlidingTextWindow
.InvalidCharacter)
58
(ch ==
SlidingTextWindow
.InvalidCharacter && TextWindow.IsReallyAtEnd()))
91
info.CharValue =
SlidingTextWindow
.InvalidCharacter;
132
surrogateCharacter =
SlidingTextWindow
.InvalidCharacter;
229
if (ch ==
SlidingTextWindow
.InvalidCharacter && TextWindow.IsReallyAtEnd())
364
(ch ==
SlidingTextWindow
.InvalidCharacter && _lexer.TextWindow.IsReallyAtEnd());
414
ref
var
window = ref _lexer.TextWindow;
Parser\LexerCache.cs (1)
187
in
SlidingTextWindow
textWindow,
Parser\SlidingTextWindow.cs (3)
468
public static int GetOffset(in
SlidingTextWindow
window) => window._positionInText - window._characterWindowStartPositionInText;
469
public static int GetCharacterWindowStartPositionInText(in
SlidingTextWindow
window) => window._characterWindowStartPositionInText;
470
public static ArraySegment<char> GetCharacterWindow(in
SlidingTextWindow
window) => window._characterWindow;
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (13)
LexicalAndXml\LexicalTests.cs (13)
592
Assert.Equal('\uFFFF',
SlidingTextWindow
.InvalidCharacter);
1503
Assert.Equal(
SlidingTextWindow
.InvalidCharacter, Char.Parse(token.ValueText));
1554
Assert.Equal(
SlidingTextWindow
.InvalidCharacter, Char.Parse(token.ValueText));
1579
Assert.Equal('\uFFFF',
SlidingTextWindow
.InvalidCharacter);
4593
var code = new string('/',
SlidingTextWindow
.DefaultWindowLength - windowEnd.Length) + windowEnd + "0;";
4617
Assert.Equal(
SlidingTextWindow
.DefaultWindowLength - 2, token1.FullWidth);
4619
Assert.Equal(
SlidingTextWindow
.DefaultWindowLength - 2,
SlidingTextWindow
.TestAccessor.GetOffset(lexer.TextWindow));
4623
Assert.Equal(
SlidingTextWindow
.DefaultWindowLength - 1,
SlidingTextWindow
.TestAccessor.GetOffset(lexer.TextWindow));
4628
Assert.Equal(code.IndexOf('.'),
SlidingTextWindow
.TestAccessor.GetCharacterWindowStartPositionInText(lexer.TextWindow));
4629
Assert.Equal(2,
SlidingTextWindow
.TestAccessor.GetOffset(lexer.TextWindow));
4630
Assert.StartsWith("..0;",
SlidingTextWindow
.TestAccessor.GetCharacterWindow(lexer.TextWindow).AsSpan().ToString());