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