2 instantiations of VirtualChar
Microsoft.AspNetCore.App.Analyzers (2)
Infrastructure\VirtualChars\VirtualChar.cs (2)
53=> new(rune, surrogateChar: default, span); 67return new VirtualChar(rune: Rune.ReplacementChar, surrogateChar, span);
113 references to VirtualChar
Microsoft.AspNetCore.App.Analyzers (113)
Infrastructure\EmbeddedSyntax\EmbeddedSyntaxHelpers.cs (2)
25public static TextSpan GetSpan(VirtualChar firstChar, VirtualChar lastChar)
Infrastructure\EmbeddedSyntax\EmbeddedSyntaxNode.cs (1)
109public bool Contains(VirtualChar virtualChar)
Infrastructure\RoutePattern\RoutePatternLexer.cs (12)
26public VirtualChar CurrentChar => Position < Text.Length ? Text[Position] : default; 41var ch = CurrentChar; 47private static RoutePatternKind GetKind(VirtualChar ch) 101var ch = CurrentChar; 184var ch = CurrentChar; 233static bool IsInvalidNameChar(VirtualChar ch) => 245private bool IsTrailingQuestionMark(VirtualChar ch) 261var ch = Text[Position]; 353var ch = Text[Position]; 402var ch = Text[Position]; 444var ch = Text[Position]; 480var ch = Text[current];
Infrastructure\VirtualChars\AbstractVirtualCharService.cs (15)
16public abstract bool TryGetEscapeCharacter(VirtualChar ch, out char escapedChar); 81var currentVC = result[0]; 94var nextVC = result[i]; 103var nextVC = result[i]; 109var lastVC = result.Last(); 157var result = ImmutableList.CreateBuilder<VirtualChar>(); 164result.Add(VirtualChar.Create(new Rune('"'), new TextSpan(offset + index, 2))); 175result.Add(VirtualChar.Create(new Rune(tokenText[index]), span)); 190protected static int ConvertTextAtIndexToRune(string tokenText, int index, ImmutableList<VirtualChar>.Builder result, int offset) 193protected static int ConvertTextAtIndexToRune(SourceText tokenText, int index, ImmutableList<VirtualChar>.Builder result, int offset) 197T tokenText, int index, TTextInfo info, ImmutableList<VirtualChar>.Builder result, int offset) 205result.Add(VirtualChar.Create(rune, new TextSpan(offset + index, 1))); 212result.Add(VirtualChar.Create(rune, new TextSpan(offset + index, 2))); 219result.Add(VirtualChar.Create(ch, new TextSpan(offset + index, 1))); 230ImmutableList<VirtualChar>.Builder result)
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (8)
137var result = ImmutableList.CreateBuilder<VirtualChar>(); 214var result = ImmutableList.CreateBuilder<VirtualChar>(); 307var runeResults = ImmutableList.CreateBuilder<VirtualChar>(); 314private static void ConvertCharactersToRunes(List<(char ch, TextSpan span)> charResults, ImmutableList<VirtualChar>.Builder runeResults) 323runeResults.Add(VirtualChar.Create(rune, span)); 334runeResults.Add(VirtualChar.Create(rune, TextSpan.FromBounds(span.Start, nextSpan.End))); 342runeResults.Add(VirtualChar.Create(ch, span)); 357public override bool TryGetEscapeCharacter(VirtualChar ch, out char escapedChar)
Infrastructure\VirtualChars\IVirtualCharService.cs (1)
70bool TryGetEscapeCharacter(VirtualChar ch, out char escapeChar);
Infrastructure\VirtualChars\RuneExtensions.cs (1)
10public static bool TryGetEscapeCharacter(this VirtualChar ch, out char escapedChar)
Infrastructure\VirtualChars\VirtualChar.cs (25)
25internal readonly struct VirtualChar : IEquatable<VirtualChar>, IComparable<VirtualChar>, IComparable<char> 52public static VirtualChar Create(Rune rune, TextSpan span) 60public static VirtualChar Create(char surrogateChar, TextSpan span) 105public static bool operator ==(VirtualChar char1, VirtualChar char2) 108public static bool operator !=(VirtualChar char1, VirtualChar char2) 111public static bool operator ==(VirtualChar ch1, char ch2) 114public static bool operator !=(VirtualChar ch1, char ch2) 118=> obj is VirtualChar vc && Equals(vc); 120public bool Equals(VirtualChar other) 164public int CompareTo(VirtualChar other) 167public static bool operator <(VirtualChar ch1, VirtualChar ch2) 170public static bool operator <=(VirtualChar ch1, VirtualChar ch2) 173public static bool operator >(VirtualChar ch1, VirtualChar ch2) 176public static bool operator >=(VirtualChar ch1, VirtualChar ch2) 182public static bool operator <(VirtualChar ch1, char ch2) 185public static bool operator <=(VirtualChar ch1, char ch2) 188public static bool operator >(VirtualChar ch1, char ch2) 191public static bool operator >=(VirtualChar ch1, char ch2)
Infrastructure\VirtualChars\VirtualCharSequence.Chunks.cs (10)
29public abstract VirtualChar this[int index] { get; } 30public abstract VirtualChar? Find(int position); 40private readonly ImmutableList<VirtualChar> _array; 42public ImmutableSegmentedListChunk(ImmutableList<VirtualChar> array) 46public override VirtualChar this[int index] => _array[index]; 48public override VirtualChar? Find(int position) 130public override VirtualChar? Find(int position) 141public override VirtualChar this[int index] 158? VirtualChar.Create(ch, span) 159: VirtualChar.Create(new Rune(ch), span);
Infrastructure\VirtualChars\VirtualCharSequence.cs (22)
30public static readonly VirtualCharSequence Empty = Create(ImmutableList<VirtualChar>.Empty); 32public static VirtualCharSequence Create(ImmutableList<VirtualChar> virtualChars) 78public VirtualChar this[int index] => _leafCharacters[_span.Start + index]; 96public VirtualChar First() => this[0]; 97public VirtualChar Last() => this[Length - 1]; 103public VirtualChar? Find(int position) 106public bool Contains(VirtualChar @char) 109public int IndexOf(VirtualChar @char) 112foreach (var ch in this) 125public VirtualChar? FirstOrNull(Func<VirtualChar, bool> predicate) 127foreach (var ch in this) 138public VirtualChar? LastOrNull(Func<VirtualChar, bool> predicate) 142var ch = this[i]; 152public bool Any(Func<VirtualChar, bool> predicate) 154foreach (var ch in this) 165public bool All(Func<VirtualChar, bool> predicate) 167foreach (var ch in this) 181public VirtualCharSequence SkipWhile(Func<VirtualChar, bool> predicate) 184foreach (var ch in this) 203foreach (var ch in this)
Infrastructure\VirtualChars\VirtualCharSequence.Enumerator.cs (2)
12public struct Enumerator : IEnumerator<VirtualChar> 24public VirtualChar Current => _virtualCharSequence[_position];
RouteEmbeddedLanguage\RoutePatternBraceMatcher.cs (9)
39var ch = virtualChar.Value; 49private static AspNetCoreBraceMatchingResult? FindParameterBraces(RoutePatternTree tree, VirtualChar ch) 55private static AspNetCoreBraceMatchingResult? FindPolicyParens(RoutePatternTree tree, VirtualChar ch) 61private static AspNetCoreBraceMatchingResult? FindReplacementTokenBrackets(RoutePatternTree tree, VirtualChar ch) 67private static RoutePatternParameterNode? FindParameterNode(RoutePatternNode node, VirtualChar ch) 71private static RoutePatternPolicyFragmentEscapedNode? FindPolicyFragmentEscapedNode(RoutePatternNode node, VirtualChar ch) 75private static RoutePatternReplacementNode? FindReplacementNode(RoutePatternNode node, VirtualChar ch) 79private static TNode? FindNode<TNode>(RoutePatternNode node, VirtualChar ch, Func<TNode, VirtualChar, bool> predicate)
RouteEmbeddedLanguage\RoutePatternCompletionProvider.cs (2)
229var previousVirtualChar = previousVirtualCharOpt.Value; 282private static (RoutePatternNode Parent, RoutePatternToken Token)? FindToken(RoutePatternNode parent, VirtualChar ch)
RouteEmbeddedLanguage\RoutePatternHighlighter.cs (3)
124private static RoutePatternNameParameterPartNode? FindParameterNode(RoutePatternNode node, VirtualChar ch) 127private static TNode? FindNode<TNode>(RoutePatternNode node, VirtualChar ch, Func<TNode, VirtualChar, bool> predicate)