2 instantiations of VirtualChar
Microsoft.CodeAnalysis.CodeStyle (2)
VirtualChar.cs (2)
55=> new(rune, surrogateChar: default, span); 67return new VirtualChar(rune: Rune.ReplacementChar, surrogateChar, span);
100 references to VirtualChar
Microsoft.CodeAnalysis.CodeStyle (90)
AbstractVirtualCharService.cs (15)
17public abstract bool TryGetEscapeCharacter(VirtualChar ch, out char escapedChar); 85var currentVC = result[0]; 98var nextVC = result[i]; 107var nextVC = result[i]; 113var lastVC = result.Last(); 161var result = ImmutableSegmentedList.CreateBuilder<VirtualChar>(); 168result.Add(VirtualChar.Create(new Rune('"'), new TextSpan(offset + index, 2))); 177result.Add(VirtualChar.Create(new Rune(tokenText[index]), span)); 192protected static int ConvertTextAtIndexToRune(string tokenText, int index, ImmutableSegmentedList<VirtualChar>.Builder result, int offset) 195protected static int ConvertTextAtIndexToRune(SourceText tokenText, int index, ImmutableSegmentedList<VirtualChar>.Builder result, int offset) 199T tokenText, int index, TTextInfo info, ImmutableSegmentedList<VirtualChar>.Builder result, int offset) 207result.Add(VirtualChar.Create(rune, new TextSpan(offset + index, 1))); 214result.Add(VirtualChar.Create(rune, new TextSpan(offset + index, 2))); 221result.Add(VirtualChar.Create(ch, new TextSpan(offset + index, 1))); 232ImmutableSegmentedList<VirtualChar>.Builder result)
EmbeddedSyntaxHelpers.cs (2)
18public static TextSpan GetSpan(VirtualChar firstChar, VirtualChar lastChar)
EmbeddedSyntaxNode.cs (1)
125public bool Contains(VirtualChar virtualChar)
IVirtualCharService.cs (4)
29/// Takes in a string token and return the <see cref="VirtualChar"/>s corresponding to each 50/// VirtualChar in the result array with a matching <see cref="VirtualChar.Rune"/> property. 51/// Similarly, each VirtualChar's <see cref="VirtualChar.Span"/> will abut each other, and 70bool TryGetEscapeCharacter(VirtualChar ch, out char escapeChar);
VirtualChar.cs (31)
13/// <see cref="VirtualChar"/> provides a uniform view of a language's string token characters regardless if they 17/// (<c>\</c> and <c>t</c>). <see cref="VirtualChar"/> will represent both, providing the raw <see cref="char"/> 27internal readonly struct VirtualChar : IEquatable<VirtualChar>, IComparable<VirtualChar>, IComparable<char> 30/// The value of this <see cref="VirtualChar"/> as a <see cref="Rune"/> if such a representation is possible. 46/// cref="VirtualChar"/>. 51/// Creates a new <see cref="VirtualChar"/> from the provided <paramref name="rune"/>. This operation cannot 54public static VirtualChar Create(Rune rune, TextSpan span) 58/// Creates a new <see cref="VirtualChar"/> from an unpaired high or low surrogate character. This will throw 62public static VirtualChar Create(char surrogateChar, TextSpan span) 101public static bool operator ==(VirtualChar char1, VirtualChar char2) 104public static bool operator !=(VirtualChar char1, VirtualChar char2) 107public static bool operator ==(VirtualChar ch1, char ch2) 110public static bool operator !=(VirtualChar ch1, char ch2) 114=> obj is VirtualChar vc && Equals(vc); 116public bool Equals(VirtualChar other) 158public int CompareTo(VirtualChar other) 161public static bool operator <(VirtualChar ch1, VirtualChar ch2) 164public static bool operator <=(VirtualChar ch1, VirtualChar ch2) 167public static bool operator >(VirtualChar ch1, VirtualChar ch2) 170public static bool operator >=(VirtualChar ch1, VirtualChar ch2) 176public static bool operator <(VirtualChar ch1, char ch2) 179public static bool operator <=(VirtualChar ch1, char ch2) 182public static bool operator >(VirtualChar ch1, char ch2) 185public static bool operator >=(VirtualChar ch1, char ch2)
VirtualCharSequence.Chunks.cs (12)
16/// Abstraction over a contiguous chunk of <see cref="VirtualChar"/>s. This 17/// is used so we can expose <see cref="VirtualChar"/>s over an <see cref="ImmutableArray{VirtualChar}"/> 28public abstract VirtualChar this[int index] { get; } 29public abstract VirtualChar? Find(int position); 39private readonly ImmutableSegmentedList<VirtualChar> _array; 41public ImmutableSegmentedListChunk(ImmutableSegmentedList<VirtualChar> array) 45public override VirtualChar this[int index] => _array[index]; 47public override VirtualChar? Find(int position) 100public override VirtualChar? Find(int position) 109public override VirtualChar this[int index] 126? VirtualChar.Create(ch, span) 127: VirtualChar.Create(new Rune(ch), span);
VirtualCharSequence.cs (23)
30public static readonly VirtualCharSequence Empty = Create(ImmutableSegmentedList<VirtualChar>.Empty); 32public static VirtualCharSequence Create(ImmutableSegmentedList<VirtualChar> virtualChars) 72/// Gets the <see cref="VirtualChar"/> at the specified index. 74public VirtualChar this[int index] => _leafCharacters[_span.Start + index]; 92public VirtualChar First() => this[0]; 93public VirtualChar Last() => this[^1]; 99public VirtualChar? Find(int position) 102public bool Contains(VirtualChar @char) 105public int IndexOf(VirtualChar @char) 108foreach (var ch in this) 119public VirtualChar? FirstOrNull(Func<VirtualChar, bool> predicate) 121foreach (var ch in this) 130public VirtualChar? LastOrNull(Func<VirtualChar, bool> predicate) 134var ch = this[i]; 142public bool Any(Func<VirtualChar, bool> predicate) 144foreach (var ch in this) 153public bool All(Func<VirtualChar, bool> predicate) 155foreach (var ch in this) 167public VirtualCharSequence SkipWhile(Func<VirtualChar, bool> predicate) 170foreach (var ch in this) 187foreach (var ch in this)
VirtualCharSequence.Enumerator.cs (2)
13public struct Enumerator : IEnumerator<VirtualChar> 25public readonly VirtualChar Current => _virtualCharSequence[_position];
Microsoft.CodeAnalysis.CSharp.CodeStyle (9)
CSharpVirtualCharService.cs (8)
133var result = ImmutableSegmentedList.CreateBuilder<VirtualChar>(); 201var result = ImmutableSegmentedList.CreateBuilder<VirtualChar>(); 288var runeResults = ImmutableSegmentedList.CreateBuilder<VirtualChar>(); 295private static void ConvertCharactersToRunes(ArrayBuilder<(char ch, TextSpan span)> charResults, ImmutableSegmentedList<VirtualChar>.Builder runeResults) 304runeResults.Add(VirtualChar.Create(rune, span)); 315runeResults.Add(VirtualChar.Create(rune, TextSpan.FromBounds(span.Start, nextSpan.End))); 323runeResults.Add(VirtualChar.Create(ch, span)); 338public override bool TryGetEscapeCharacter(VirtualChar ch, out char escapedChar)
RuneExtensions.cs (1)
14public static bool TryGetEscapeCharacter(this VirtualChar ch, out char escapedChar)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (1)
VisualBasicVirtualCharService.vb (1)
18Public Overrides Function TryGetEscapeCharacter(ch As VirtualChar, ByRef escapedChar As Char) As Boolean