1 write to Span
Microsoft.CodeAnalysis.Workspaces (1)
VirtualChar.cs (1)
80Span = span;
76 references to Span
Microsoft.CodeAnalysis.CSharp.EditorFeatures (4)
StringCopyPaste\StringCopyPasteData.cs (4)
109var firstOverlappingChar = virtualChars.FirstOrNull(vc => vc.Span.OverlapsWith(selectionSpan)); 110var lastOverlappingChar = virtualChars.LastOrNull(vc => vc.Span.OverlapsWith(selectionSpan)); 116if (selectionSpan.Start > firstOverlappingChar.Value.Span.Start) 119if (selectionSpan.End < lastOverlappingChar.Value.Span.End)
Microsoft.CodeAnalysis.CSharp.Features (3)
ConvertBetweenRegularAndVerbatimString\AbstractConvertBetweenRegularAndVerbatimStringCodeRefactoringProvider.cs (1)
179if (ch.Span.Length == 2 && ch.Rune.Value != 0)
ConvertToRawString\ConvertToRawStringHelpers.cs (2)
56if (ch.Span.Length > 1) 92if (ch.Span.Length > 1)
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (4)
EmbeddedLanguages\VirtualChars\CSharpVirtualCharServiceTests.cs (4)
59for (var i = ch.Span.Start; i < ch.Span.End; i++) 91=> $"[{ConvertRuneToString(vc)},[{vc.Span.Start - _statementPrefix.Length},{vc.Span.End - _statementPrefix.Length}]]";
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore (2)
EmbeddedLanguages\AspNetCoreVirtualChar.cs (2)
34/// <inheritdoc cref="VirtualChar.Span"/> 35public TextSpan Span => VirtualChar.Span;
Microsoft.CodeAnalysis.Features (35)
AbstractSimplifyInterpolationHelpers.cs (2)
188: TextSpan.FromBounds(sequence.First().Span.Start, sequence.Last().Span.End);
EmbeddedLanguages\Classification\AbstractFallbackEmbeddedLanguageClassifier.cs (2)
48if (vc.Span.Length > 1) 49context.AddClassification(ClassificationTypeNames.StringEscapeCharacter, vc.Span);
EmbeddedLanguages\DateAndTime\EmbeddedCompletionContext.cs (2)
64if (ch.Span.End <= startPosition) 66else if (ch.Span.Start >= endPosition)
EmbeddedLanguages\Json\JsonLexer.cs (2)
318=> TextSpan.FromBounds(Text[startInclusive].Span.Start, Text[endExclusive - 1].Span.End);
EmbeddedLanguages\Json\JsonParser.cs (3)
498firstChar.Span))); 592? new TextSpan(_lexer.Text.Last().Span.End, 0) 593: new TextSpan(token.VirtualChars[0].Span.Start, 0);
EmbeddedLanguages\Json\JsonParser.StrictSyntaxChecker.cs (6)
102return new EmbeddedDiagnostic(FeaturesResources.Illegal_whitespace_character, ch.Span); 158return new EmbeddedDiagnostic(FeaturesResources.Value_required, new TextSpan(node.ColonToken.VirtualChars[0].Span.End, 0)); 228return new EmbeddedDiagnostic(FeaturesResources.Strings_must_start_with_double_quote_not_single_quote, chars[0].Span); 233return new EmbeddedDiagnostic(FeaturesResources.Illegal_string_character, chars[i].Span); 242return new EmbeddedDiagnostic(FeaturesResources.Invalid_escape_sequence, TextSpan.FromBounds(chars[i].Span.Start, chars[i + 1].Span.End));
EmbeddedLanguages\Json\LanguageServices\JsonBraceMatcher.cs (1)
79if (!fullSpan.Value.Contains(ch.Span.Start))
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexBraceMatcher.cs (4)
74: new BraceMatchingResult(open.VirtualChars[0].Span, close.VirtualChars[0].Span); 86: new BraceMatchingResult(firstChar.Span, lastChar.Span);
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexClassifier.cs (1)
311Context.AddClassification(ClassificationTypeNames.RegexText, node.TextToken.VirtualChars[0].Span);
EmbeddedLanguages\RegularExpressions\RegexHelpers.cs (8)
43'a' => VirtualChar.Create(new Rune('\u0007'), ch.Span), // bell 44'b' => VirtualChar.Create(new Rune('\b'), ch.Span), // backspace 45'e' => VirtualChar.Create(new Rune('\u001B'), ch.Span), // escape 46'f' => VirtualChar.Create(new Rune('\f'), ch.Span), // form feed 47'n' => VirtualChar.Create(new Rune('\n'), ch.Span), // new line 48'r' => VirtualChar.Create(new Rune('\r'), ch.Span), // carriage return 49't' => VirtualChar.Create(new Rune('\t'), ch.Span), // tab 50'v' => VirtualChar.Create(new Rune('\u000B'), ch.Span), // vertical tab
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (2)
179=> TextSpan.FromBounds(Text[startInclusive].Span.Start, Text[endExclusive - 1].Span.End);
EmbeddedLanguages\RegularExpressions\RegexParser.cs (2)
713? new TextSpan(_lexer.Text.Last().Span.End, 0) 714: new TextSpan(token.VirtualChars[0].Span.Start, 0);
Microsoft.CodeAnalysis.VisualBasic.Workspaces.UnitTests (4)
EmbeddedLanguages\VirtualChars\VisualBasicVirtualCharServiceTests.vb (4)
33For i = ch.Span.Start To ch.Span.End - 1 91Return $"[{ConvertToString(ChrW(vc.Rune.Value))},[{vc.Span.Start - _statementPrefix.Length},{vc.Span.End - _statementPrefix.Length}]]"
Microsoft.CodeAnalysis.Workspaces (24)
AbstractVirtualCharService.cs (10)
86Debug.Assert(currentVC.Span.Start >= token.SpanStart, "First span has to start after the start of the string token"); 90Debug.Assert(currentVC.Span.Start == token.SpanStart + 1 || 91currentVC.Span.Start == token.SpanStart + 2, "First span should start on the second or third char of the string."); 99Debug.Assert(currentVC.Span.End <= nextVC.Span.Start, "Virtual character spans have to be ordered."); 108Debug.Assert(currentVC.Span.End == nextVC.Span.Start, "Virtual character spans have to be touching."); 118Debug.Assert(lastVC.Span.End == token.Span.End - "\"".Length, "Last span has to end right before the end of the string token."); 122Debug.Assert(lastVC.Span.End == token.Span.End - "\"u8".Length, "Last span has to end right before the end of the string token."); 178index += result[^1].Span.Length;
EmbeddedSyntaxHelpers.cs (2)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
EmbeddedSyntaxNode.cs (2)
118start = Math.Min(token.VirtualChars[0].Span.Start, start); 119end = Math.Max(token.VirtualChars.Last().Span.End, end);
EmbeddedSyntaxToken.cs (2)
83Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 88Math.Max(VirtualChars.Length == 0 ? int.MinValue : VirtualChars[^1].Span.End,
IVirtualCharService.cs (1)
51/// Similarly, each VirtualChar's <see cref="VirtualChar.Span"/> will abut each other, and
VirtualChar.cs (3)
119Span == other.Span; 126hashCode = hashCode * -1521134295 + Span.GetHashCode();
VirtualCharSequence.Chunks.cs (4)
52if (position < _array[0].Span.Start || position >= _array[^1].Span.End) 57if (position < ch.Span.Start) 60if (position >= ch.Span.End)