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)
139var afterNewLine = SlidingTextWindow.GetNewLineWidth(closeQuoteText[0], closeQuoteText[1]); 338currentIndex += SlidingTextWindow.GetNewLineWidth(ch, currentIndex + 1 < text.Length ? text[currentIndex + 1] : '\0');
Parser\Lexer.cs (38)
669case SlidingTextWindow.InvalidCharacter: 1437char surrogateCharacter = SlidingTextWindow.InvalidCharacter; 1461case SlidingTextWindow.InvalidCharacter: 1574if (surrogateCharacter != SlidingTextWindow.InvalidCharacter) 1673consumedSurrogate = SlidingTextWindow.InvalidCharacter; 1695Debug.Assert(consumedSurrogate == SlidingTextWindow.InvalidCharacter, "Since consumedChar == '\\'"); 1741case SlidingTextWindow.InvalidCharacter: 1776if (consumedSurrogate != SlidingTextWindow.InvalidCharacter) 2129if (ch == SlidingTextWindow.InvalidCharacter) 2182if (ch == SlidingTextWindow.InvalidCharacter || SyntaxFacts.IsNewLine(ch)) 2217if ((ch = TextWindow.PeekChar()) == SlidingTextWindow.InvalidCharacter && TextWindow.IsReallyAtEnd()) 2239(ch != SlidingTextWindow.InvalidCharacter || !TextWindow.IsReallyAtEnd())) 2428case SlidingTextWindow.InvalidCharacter: 2498else if (ch is SlidingTextWindow.InvalidCharacter && this.TextWindow.IsReallyAtEnd()) 2553case SlidingTextWindow.InvalidCharacter: 2807Debug.Assert(this.LocationIs(XmlDocCommentLocation.End) || TextWindow.PeekChar() == SlidingTextWindow.InvalidCharacter); 2868case SlidingTextWindow.InvalidCharacter: 3040if (lowSurrogate != SlidingTextWindow.InvalidCharacter) 3132case SlidingTextWindow.InvalidCharacter: 3265case SlidingTextWindow.InvalidCharacter: 3430case SlidingTextWindow.InvalidCharacter: 3486case SlidingTextWindow.InvalidCharacter: 3556case SlidingTextWindow.InvalidCharacter: 3612char consumedSurrogate = SlidingTextWindow.InvalidCharacter; 3641case SlidingTextWindow.InvalidCharacter: 3914&& nextChar == ch && nextSurrogate == SlidingTextWindow.InvalidCharacter) 4033case SlidingTextWindow.InvalidCharacter: 4077case SlidingTextWindow.InvalidCharacter: 4164case SlidingTextWindow.InvalidCharacter: 4207case SlidingTextWindow.InvalidCharacter: 4286case SlidingTextWindow.InvalidCharacter: 4331case SlidingTextWindow.InvalidCharacter: 4589surrogateCharacter = SlidingTextWindow.InvalidCharacter; 4609Debug.Assert(ch != SlidingTextWindow.InvalidCharacter, "Precondition established by all callers; required for correctness of AdvanceChar() call."); 4619surrogateCharacter = SlidingTextWindow.InvalidCharacter; 4632surrogateCharacter = SlidingTextWindow.InvalidCharacter; 4746surrogate = SlidingTextWindow.InvalidCharacter; 4850lowSurrogate = 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());