1 write to Start
Microsoft.CodeAnalysis (1)
Text\TextSpan.cs (1)
34Start = start;
2641 references to Start
dotnet (2)
Commands\Run\FileBasedAppSourceEditor.cs (2)
232var start = span.Start; 254var startBeforeWhiteSpace = directive.Info.Span.Start - directive.Info.LeadingWhiteSpace.BlankLineLength;
dotnet-format (1)
Formatters\DocumentFormatter.cs (1)
172var changePosition = originalText.Lines.GetLinePosition(change.Span.Start);
GenerateDocumentationAndConfigFiles (210)
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
43.Sort((d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (3)
56var partialDeclSpan = syntaxFacts.GetContainingTypeDeclaration(root, syntaxRef.Span.Start)?.FullSpan; 82? syntaxFacts.GetContainingMemberDeclaration(root, span.Start) 83: syntaxFacts.GetContainingTypeDeclaration(root, span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (3)
505positionOfRemovedNode = attributeList.FullSpan.Start; 525positionOfRemovedNode = attributeToRemove.FullSpan.Start; 527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
208var afterMember = declarationList.LastOrDefault(m => m.SpanStart <= info.Context.AfterThisLocation.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (5)
72if (node.FullSpan.Contains(selection.Start)) 74var selectionStartToken = node.FindToken(selection.Start); 81var beginningNode = node.FindToken(node.Span.Start).Parent; 93return beginningNode.Span.End <= selection.Start || endNode.Span.Start >= selection.End;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (1)
70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
147var token = root.FindToken(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
398if (p.Length > 0 && char.IsLetter(name[p.Start])) 399return name.Substring(p.Start, p.Length).ToCamelCase();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceService.State.cs (1)
107let token = syntaxRoot.FindToken(r.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
147=> !spansTree.HasIntervalThatOverlapsWith(nodeOrToken.FullSpan.Start, nodeOrToken.FullSpan.Length);
Microsoft.Analyzers.Extra.Tests (4)
Resources\RoslynTestUtils.cs (4)
269if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 273else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Analyzers.Local.Tests (5)
InternalReferencedInPublicDocAnalyzerTests.cs (1)
471var text = source.Substring(location.SourceSpan.Start, location.SourceSpan.Length);
Resources\RoslynTestUtils.cs (4)
270if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 274else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.AspNetCore.App.Analyzers (30)
Infrastructure\EmbeddedSyntax\EmbeddedSyntaxHelpers.cs (1)
26=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
Infrastructure\EmbeddedSyntax\EmbeddedSyntaxNode.cs (2)
66return span.Value.Start; 102start = Math.Min(token.VirtualChars[0].Span.Start, start);
Infrastructure\EmbeddedSyntax\EmbeddedSyntaxToken.cs (1)
68var start = VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start;
Infrastructure\RoutePattern\RoutePatternLexer.cs (1)
68=> TextSpan.FromBounds(Text[startInclusive].Span.Start, Text[endExclusive - 1].Span.End);
Infrastructure\RoutePattern\RoutePatternParser.cs (1)
621: new TextSpan(token.VirtualChars[0].Span.Start, 0);
Infrastructure\VirtualChars\AbstractVirtualCharService.cs (5)
82Debug.Assert(currentVC.Span.Start >= token.SpanStart, "First span has to start after the start of the string token"); 86Debug.Assert(currentVC.Span.Start == token.SpanStart + 1 || 87currentVC.Span.Start == token.SpanStart + 2, "First span should start on the second or third char of the string."); 95Debug.Assert(currentVC.Span.End <= nextVC.Span.Start, "Virtual character spans have to be ordered."); 104Debug.Assert(currentVC.Span.End == nextVC.Span.Start, "Virtual character spans have to be touching.");
Infrastructure\VirtualChars\CSharpVirtualCharService.cs (3)
219var lineStart = lineSpan.Start; 226? lineSpan.Start + indentationLength 334runeResults.Add(VirtualChar.Create(rune, TextSpan.FromBounds(span.Start, nextSpan.End)));
Infrastructure\VirtualChars\VirtualCharSequence.Chunks.cs (2)
54if (position < _array[0].Span.Start || position >= _array[_array.Count - 1].Span.End) 60if (position < ch.Span.Start)
Infrastructure\VirtualChars\VirtualCharSequence.cs (6)
56if (span.Start > sequence.Length) 78public VirtualChar this[int index] => _leafCharacters[_span.Start + index]; 91=> new(_leafCharacters, new TextSpan(_span.Start + span.Start, span.Length)); 215Debug.Assert(_span.End == virtualChars._span.Start); 229TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
RouteEmbeddedLanguage\FrameworkParametersCompletionProvider.cs (2)
259properties.Add(StartKey, textChange.Span.Start.ToString(CultureInfo.InvariantCulture)); 515? parentOpt.Value.GetLocation().SourceSpan.Start
RouteEmbeddedLanguage\Infrastructure\SyntaxNodeExtensions.cs (1)
96while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
RouteEmbeddedLanguage\RoutePatternCompletionProvider.cs (2)
138properties.Add(StartKey, textChange.Span.Start.ToString(CultureInfo.InvariantCulture)); 361? parentOpt.GetSpan().Start
WebApplicationBuilder\WebApplicationBuilderAnalyzer.cs (3)
295var chainAndTriviaLength = methodLocation.SourceSpan.Start - location.SourceSpan.Start; 298methodLocation.SourceSpan.Start,
Microsoft.AspNetCore.App.CodeFixes (2)
Dependencies\AddPackageFixer.cs (1)
83var position = diagnostic.Location.SourceSpan.Start;
Dependencies\ExtensionMethodsCompletionProvider.cs (1)
41var token = root.FindToken(span.Start);
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentParametersShouldBePublicCodeFixProvider.cs (1)
38var declaration = root.FindToken(diagnosticSpan.Start).Parent.AncestorsAndSelf().OfType<PropertyDeclarationSyntax>().First();
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
ComponentParametersShouldBePublicCodeFixProvider.cs (1)
38var declaration = root.FindToken(diagnosticSpan.Start).Parent.AncestorsAndSelf().OfType<PropertyDeclarationSyntax>().First();
Microsoft.CodeAnalysis (110)
Compilation\Compilation.cs (1)
3672MarkImportDirectiveAsUsed(node.SyntaxTree, node.Span.Start);
Diagnostic\SourceLocation.cs (1)
130return base.GetDebuggerDisplay() + "\"" + _syntaxTree.ToString().Substring(_span.Start, _span.Length) + "\"";
DiagnosticAnalyzer\AnalysisContextInfo.cs (2)
125var lastEnd = node.Span.Start; 129if (token.Span.Start - lastEnd > 0)
DiagnosticAnalyzer\AnalysisScope.cs (1)
169if (filterSpan.GetValueOrDefault().Start == 0 && filterSpan.GetValueOrDefault().Length == filterFile.GetValueOrDefault().SourceTree!.Length)
DiagnosticAnalyzer\AnalyzerDriver.cs (1)
2356syntaxTree.IsHiddenPosition(span.Start);
Syntax\LineDirectiveMap.cs (1)
51var unmappedStartPos = sourceText.Lines.GetLinePosition(span.Start);
Syntax\SyntaxDiffer.cs (8)
112int start = change.Range.Span.Start + delta; 578if (last.Range.Span.End == change.Range.Span.Start) 582new TextChangeRange(new TextSpan(last.Range.Span.Start, last.Range.Span.Length + change.Range.Span.Length), last.Range.NewLength + change.Range.NewLength), 588Debug.Assert(change.Range.Span.Start >= last.Range.Span.End); 599if (last.Range.Span.End == textChangeRange.Span.Start) 605new TextChangeRange(new TextSpan(last.Range.Span.Start, last.Range.Span.Length + textChangeRange.Span.Length), last.Range.NewLength + textChangeRange.NewLength), 611Debug.Assert(textChangeRange.Span.Start >= last.Range.Span.End); 764new TextSpan(range.Span.Start + commonLeadingCount, range.Span.Length - (commonLeadingCount + commonTrailingCount)),
Syntax\SyntaxList`1.cs (2)
168return TextSpan.FromBounds(this[0].FullSpan.Start, this[this.Count - 1].FullSpan.End); 186return TextSpan.FromBounds(this[0].Span.Start, this[this.Count - 1].Span.End);
Syntax\SyntaxNode.cs (3)
114/// Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>. 973var node = FindToken(span.Start, findInsideTrivia) 1572if (position < span.Start && token.HasLeadingTrivia)
Syntax\SyntaxNodeOrToken.cs (1)
246/// Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>.
Syntax\SyntaxToken.cs (1)
120/// Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>.
Syntax\SyntaxTree.cs (1)
271isHiddenPosition = GetLineVisibility(span.Start) == LineVisibility.Hidden;
Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
Syntax\SyntaxTrivia.cs (1)
103/// Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>.
Text\ChangedText.cs (2)
46if (change.Span.Start < position) 49if (change.Span.Start > oldText.Length)
Text\CompositeText.cs (1)
87var sourceIndex = span.Start;
Text\LargeText.cs (4)
185if (span.Start < 0 || span.Start > _length || span.End > _length) 198int chunkIndex = GetIndexFromPosition(span.Start); 199int chunkStartOffset = span.Start - _chunkStartOffsets[chunkIndex];
Text\SourceText.cs (10)
490Debug.Assert(0 <= span.Start && span.Start <= span.End); 510else if (spanLength == this.Length && span.Start == 0) 558int offset = span.Start; 729int position = Math.Max(Math.Min(span.Start, this.Length), 0); 791if (change.Span.Start < position) 796if (change.Span.End <= changeRanges.Last().Span.Start) 815if (change.Span.Start > position) 817var subText = this.GetSubText(new TextSpan(position, change.Span.Start - position)); 927var newPos = range.Span.Start + newPosDelta;
Text\StringBuilderText.cs (1)
85return _builder.ToString(span.Start, span.Length);
Text\StringText.cs (3)
78if (span.Start == 0 && span.Length == this.Length) 83return this.Source.Substring(span.Start, span.Length); 93if (span.Start == 0 && span.End == this.Length)
Text\SubText.cs (10)
27if (span.Start < 0 64return UnderlyingText[UnderlyingSpan.Start + position]; 75return UnderlyingText.ToString(GetCompositeSpan(span.Start, span.Length)); 82return new SubText(UnderlyingText, GetCompositeSpan(span.Start, span.Length)); 88UnderlyingText.CopyTo(span.Start, destination, destinationIndex, span.Length); 93int compositeStart = Math.Min(UnderlyingText.Length, UnderlyingSpan.Start + start); 112var startLineInUnderlyingText = _subText.UnderlyingText.Lines.GetLineFromPosition(_subText.UnderlyingSpan.Start); 164var startInUnderlyingText = Math.Max(underlyingTextLine.Start, _subText.UnderlyingSpan.Start); 169var startInSubText = startInUnderlyingText - _subText.UnderlyingSpan.Start; 207var underlyingPosition = position + _subText.UnderlyingSpan.Start;
Text\TextChange.cs (1)
108return $"new TextChange(new TextSpan({Span.Start}, {Span.Length}), {newTextDisplay})";
Text\TextChangeRange.cs (4)
29internal int NewEnd => Span.Start + NewLength; 110if (change.Span.Start < start) 112start = change.Span.Start; 135return $"new TextChangeRange(new TextSpan({Span.Start}, {Span.Length}), {NewLength})";
Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
Text\TextLine.cs (10)
52if (span.Start > text.Length || span.Start < 0 || span.End > text.Length) 60if (span.Start > 0 && !TextUtilities.IsAnyLineBreakCharacter(text[span.Start - 1])) 66if (span.End > span.Start && TextUtilities.IsAnyLineBreakCharacter(text[span.End - 1])) 77span = new TextSpan(span.Start, span.Length + lineBreakLen); 87return new TextLine(text, Pack(span.Start, span.Length, lineBreakLen)); 100Debug.Assert(span.Start == 0 || TextUtilities.IsAnyLineBreakCharacter(text[span.Start - 1])); 103return new TextLine(text, Pack(span.Start, span.Length, lineBreakLength));
Text\TextLineCollection.cs (1)
57return new LinePositionSpan(GetLinePosition(span.Start), GetLinePosition(span.End));
Text\TextSpan.cs (19)
47public int End => Start + Length; 72return unchecked((uint)(position - Start) < (uint)Length); 86return span.Start >= Start && span.End <= this.End; 102int overlapStart = Math.Max(Start, span.Start); 119int overlapStart = Math.Max(Start, span.Start); 140return span.Start <= this.End && span.End >= Start; 156return unchecked((uint)(position - Start) <= (uint)Length); 170int intersectStart = Math.Max(Start, span.Start); 221return Start == other.Start && Length == other.Length; 235return Hash.Combine(Start, Length); 245return $"[{Start}..{End})"; 253var diff = Start - other.Start;
Microsoft.CodeAnalysis.Analyzers (213)
FixAnalyzers\FixerWithFixAllAnalyzer.Fixer.cs (1)
39var token = root.FindToken(context.Span.Start);
MetaAnalyzers\DiagnosticDescriptorCreationAnalyzer.cs (1)
683properties = properties.Add(DefineDescriptorArgumentCorrectlyFixAdditionalDocumentLocationInfo, $"{span.Start}{AdditionalDocumentLocationInfoSeparator}{span.Length}{AdditionalDocumentLocationInfoSeparator}{fixLocation.GetLineSpan().Path}");
MetaAnalyzers\Fixers\ApplyDiagnosticAnalyzerAttributeFix.cs (1)
23var token = root.FindToken(context.Span.Start);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
43.Sort((d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (3)
56var partialDeclSpan = syntaxFacts.GetContainingTypeDeclaration(root, syntaxRef.Span.Start)?.FullSpan; 82? syntaxFacts.GetContainingMemberDeclaration(root, span.Start) 83: syntaxFacts.GetContainingTypeDeclaration(root, span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (3)
505positionOfRemovedNode = attributeList.FullSpan.Start; 525positionOfRemovedNode = attributeToRemove.FullSpan.Start; 527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
208var afterMember = declarationList.LastOrDefault(m => m.SpanStart <= info.Context.AfterThisLocation.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (5)
72if (node.FullSpan.Contains(selection.Start)) 74var selectionStartToken = node.FindToken(selection.Start); 81var beginningNode = node.FindToken(node.Span.Start).Parent; 93return beginningNode.Span.End <= selection.Start || endNode.Span.Start >= selection.End;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (1)
70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
147var token = root.FindToken(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
398if (p.Length > 0 && char.IsLetter(name[p.Start])) 399return name.Substring(p.Start, p.Length).ToCamelCase();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceService.State.cs (1)
107let token = syntaxRoot.FindToken(r.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
147=> !spansTree.HasIntervalThatOverlapsWith(nodeOrToken.FullSpan.Start, nodeOrToken.FullSpan.Length);
Microsoft.CodeAnalysis.AnalyzerUtilities (190)
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
Microsoft.CodeAnalysis.CodeStyle (205)
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderHelper.cs (2)
63fileHeaderStart = Math.Min(trivia.FullSpan.Start, fileHeaderStart); 86fileHeaderStart = trivia.FullSpan.Start;
src\roslyn\src\Analyzers\Core\Analyzers\Formatting\AbstractFormattingAnalyzer.cs (4)
72if (oldText.GetSubText(new TextSpan(change.Span.Start + offset, change.NewText.Length)).ContentEquals(SourceText.From(change.NewText))) 74change = new TextChange(new TextSpan(change.Span.Start, offset), ""); 81if (oldText.GetSubText(new TextSpan(change.Span.Start, change.NewText.Length)).ContentEquals(SourceText.From(change.NewText))) 83change = new TextChange(new TextSpan(change.Span.Start + change.NewText.Length, offset), "");
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (3)
158textSpan = TextSpan.FromBounds(node.Span.Start, nodeEnd); 166textSpan = TextSpan.FromBounds(previous.Value.textSpan.Start, nodeEnd); 172textSpan = TextSpan.FromBounds(node.Span.Start, nodeEnd);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (2)
136var expressionFirstLine = lines.GetLineFromPosition(parenthesizedExpressionLocation.SourceSpan.Start); 139return Location.Create(parenthesizedExpression.SyntaxTree, TextSpan.FromBounds(parenthesizedExpressionLocation.SourceSpan.Start, textSpanEndPosition));
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (1)
565if (pragma.Span.End <= diagnostic.Location.SourceSpan.Start)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (2)
92.OrderBy(t => t.Start) 261: TextSpan.FromBounds(sequence[0].Span.Start, sequence[^1].Span.End);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyTypeNames\SimplifyTypeNamesDiagnosticAnalyzerBase.cs (1)
242if (intervalTree.HasIntervalThatOverlapsWith(span.Start, span.End))
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
Microsoft.CodeAnalysis.CodeStyle.Fixes (42)
src\roslyn\src\Analyzers\Core\CodeFixes\ConflictMarkerResolution\AbstractConflictMarkerCodeFixProvider.cs (4)
77var position = context.Span.Start; 403(d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start).ToImmutableArray(); 416var position = diagnostic.Location.SourceSpan.Start;
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertToAsync\AbstractConvertToAsyncCodeFixProvider.cs (1)
41var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorCodeFixProvider.cs (2)
30if (!headerFacts.IsOnTypeHeader(root, diagnostic.Location.SourceSpan.Start, fullHeader: true, out var typeDecl)) 39document, new TextSpan(typeName.Value.Span.Start, 0), forRefactoring: false, cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.State.cs (1)
69if (headerFacts.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, fullHeader: true, out _))
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberCodeFixProvider.cs (1)
63var token = root.FindToken(span.Start, findInsideTrivia: true);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (1)
30var token = root.FindToken(context.Span.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (1)
26var token = root.FindToken(span.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\Iterator\AbstractIteratorCodeFixProvider.cs (1)
38var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesCodeFixProvider.cs (1)
52var token = root.FindToken(diagnostic.AdditionalLocations[0].SourceSpan.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (1)
64foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryPragmaSuppressionsCodeFixProvider.cs (2)
38root.FindTrivia(diagnostic.Location.SourceSpan.Start).HasStructure) 83node = editor.OriginalRoot.FindTrivia(location.SourceSpan.Start).GetStructure()!;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (3)
269return diagnostics.GroupBy(d => syntaxFacts.GetContainingMemberDeclaration(root, d.Location.SourceSpan.Start) ?? root); 362diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start), 372diagnostics.OrderBy(d => d.Location.SourceSpan.Start),
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyBooleanExpression\SimplifyConditionalCodeFixProvider.cs (1)
50diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start).ToImmutableArray(),
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyLinqExpression\SimplifyLinqExpressionCodeFixProvider.cs (1)
41foreach (var diagnostic in diagnostics.OrderByDescending(diagnostics => diagnostics.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\Core\CodeFixes\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsCodeFixProvider.cs (1)
54foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
43.Sort((d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (3)
56var partialDeclSpan = syntaxFacts.GetContainingTypeDeclaration(root, syntaxRef.Span.Start)?.FullSpan; 82? syntaxFacts.GetContainingMemberDeclaration(root, span.Start) 83: syntaxFacts.GetContainingTypeDeclaration(root, span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (3)
505positionOfRemovedNode = attributeList.FullSpan.Start; 525positionOfRemovedNode = attributeToRemove.FullSpan.Start; 527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
208var afterMember = declarationList.LastOrDefault(m => m.SpanStart <= info.Context.AfterThisLocation.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (5)
72if (node.FullSpan.Contains(selection.Start)) 74var selectionStartToken = node.FindToken(selection.Start); 81var beginningNode = node.FindToken(node.Span.Start).Parent; 93return beginningNode.Span.End <= selection.Start || endNode.Span.Start >= selection.End;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (1)
70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
147var token = root.FindToken(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
398if (p.Length > 0 && char.IsLetter(name[p.Start])) 399return name.Substring(p.Start, p.Length).ToCamelCase();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceService.State.cs (1)
107let token = syntaxRoot.FindToken(r.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
147=> !spansTree.HasIntervalThatOverlapsWith(nodeOrToken.FullSpan.Start, nodeOrToken.FullSpan.Length);
Microsoft.CodeAnalysis.CSharp (68)
Binder\Binder_Symbols.cs (2)
1981if (containerResult == 0 && la.SourceTree == lb.SourceTree) return lb.SourceSpan.Start - la.SourceSpan.Start;
Binder\BinderFactory.BinderFactoryVisitor.cs (1)
1079else if (_position < containingSpan.Start || _position > containingSpan.End) //NB: > not >=
Binder\Imports.cs (1)
53UsingAliases.OrderBy(x => x.Value.UsingDirective.Location.SourceSpan.Start).Select(ua => $"{ua.Key} = {ua.Value.Alias.Target}").Concat(
Binder\LocalScopeBinder.cs (2)
513if (declaredInThisScope && newLocation.SourceSpan.Start >= local.GetFirstLocation().SourceSpan.Start)
Compilation\CSharpCompilation.cs (9)
2767if (!this.IsImportDirectiveUsed(infoTree, infoSpan.Start)) 2786var node = info.Tree.GetRoot(cancellationToken).FindToken(info.Span.Start, findInsideTrivia: false). 2917return Hash.Combine(Tree, Span.Start); 4764return loc1.SourceSpan.Start - loc2.SourceSpan.Start; 4775return loc1.Span.Start - loc2.Span.Start; 4786return loc1.Span.Start - loc2.Span.Start;
Compilation\CSharpDiagnosticFilter.cs (1)
155var position = location.SourceSpan.Start;
Compilation\CSharpSemanticModel.cs (2)
1346Debug.Assert(position == fullSpan.Start); 2219var binder = this.GetEnclosingBinder(boundExpr.Syntax.Span.Start);
Compilation\SyntaxTreeSemanticModel.cs (1)
2466var position = CheckAndAdjustPosition(location.SourceSpan.Start);
FlowAnalysis\AbstractFlowPass.cs (1)
302return RegionSpan.Contains(span.Start);
FlowAnalysis\ControlFlowPass.cs (3)
342var sourceStart = sourceLocation.SourceSpan.Start; 343var targetStart = node.Label.GetFirstLocation().SourceSpan.Start; 347var usingStart = usingDecl.symbol.GetFirstLocation().SourceSpan.Start;
FlowAnalysis\DefiniteAssignment.cs (1)
1170(symbol.TryGetFirstLocation() is var location && (location is null || node.Span.End < location.SourceSpan.Start)))
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (3)
631return new TextSpan(startSpan.Start, originalSpan.Length - (startSpan.Start - originalSpan.Start));
Lowering\Instrumentation\DebugInfoInjector.cs (1)
294? TextSpan.FromBounds(forEachSyntax.AwaitKeyword.Span.Start, forEachSyntax.ForEachKeyword.Span.End)
Lowering\Instrumentation\DebugInfoInjector_SequencePoints.cs (1)
42int start = usingSyntax.Span.Start;
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
76var spanStart = syntax.SwitchKeyword.Span.Start;
Parser\Blender.cs (2)
125var start = Math.Max(Math.Min(changeRange.Span.Start, lastCharIndex), 0); 156var finalLength = changeRange.NewLength + (changeRange.Span.Start - start);
Parser\SlidingTextWindow.cs (2)
190return span.Start >= _characterWindowStartPositionInText && 207textSpan = _characterWindow.AsSpan(span.Start - _characterWindowStartPositionInText, span.Length);
Symbols\LexicalSortKey.cs (2)
68: this(syntaxRef.SyntaxTree, syntaxRef.Span.Start, compilation) 75: this(location.SourceTree, location.SourceSpan.Start, compilation)
Symbols\RangeVariableSymbol.cs (1)
62SyntaxToken token = _location.SourceTree.GetRoot().FindToken(_location.SourceSpan.Start);
Symbols\Source\SourceConstructorSymbol.cs (2)
265offset = position - ctorSyntax.Body.Span.Start; 270offset = position - ctorSyntax.ExpressionBody.Span.Start;
Symbols\Source\SourceConstructorSymbolBase.cs (1)
212return -ctorInitializerLength + (position - span.Start);
Symbols\Source\SourceMemberContainerSymbol.cs (9)
1235if (declaration.Declarations.Length >= 1 && position == declaration.Declarations[0].Location.SourceSpan.Start) 1271int distanceFromInitializerStart = position - initializer.Syntax.Span.Start; 1363int index = initializers.BinarySearch(position, (initializer, pos) => initializer.Syntax.Span.Start.CompareTo(pos)); 3495Debug.Assert(declaredMembers.DeclarationWithParameters.Span.Contains(InstanceInitializersForPositionalMembers[0].Syntax.Span.Start)); 3521declaredMembers.DeclarationWithParameters.Span.Contains(declaredMembers.InstanceInitializers[insertAt][0].Syntax.Span.Start)) 3529Debug.Assert(insertedInitializers[insertedInitializers.Count - 1].Syntax.Span.Start < declaredInitializers[0].Syntax.Span.Start); 3543declaredMembers.DeclarationWithParameters.Span.Contains(g[0].Syntax.Span.Start))); 4714Debug.Assert(node.SpanStart > initializers.Last().Syntax.Span.Start);
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
1836if (GetImplementsLocationOrFallback(interface1).SourceSpan.Start > GetImplementsLocationOrFallback(interface2).SourceSpan.Start)
Symbols\Symbol.cs (2)
454wasZeroWidthMatch = loc.SourceSpan.IsEmpty && loc.SourceSpan.End == declarationSpan.Start; 511SyntaxToken token = location.SourceTree.GetRoot().FindToken(location.SourceSpan.Start);
Symbols\Synthesized\Records\SynthesizedRecordCopyCtor.cs (1)
72TextSpan.FromBounds(recordDeclaration.Identifier.Span.Start, recordDeclaration.TypeParameterList.Span.End)));
Syntax\CSharpLineDirectiveMap.cs (1)
231var unmappedStartPos = lines.GetLinePosition(span.Start);
Syntax\CSharpSyntaxTree.cs (1)
648=> new(FilePath, GetLinePosition(span.Start, cancellationToken), GetLinePosition(span.End, cancellationToken));
Syntax\NullableContextStateMap.cs (2)
106int index = GetContextStateIndex(span.Start); 108Debug.Assert(context.Position <= span.Start);
Syntax\SyntaxNodeRemover.cs (8)
70int start = span0.Start; 76start = Math.Min(start, span.Start); 344var span = TextSpan.FromBounds(token.Span.Start, node.Span.End); 345var fullSpan = TextSpan.FromBounds(token.FullSpan.Start, node.FullSpan.End); 378var span = TextSpan.FromBounds(node.Span.Start, token.Span.End); 379var fullSpan = TextSpan.FromBounds(node.FullSpan.Start, token.FullSpan.End); 410removedSpan = TextSpan.FromBounds(span.Start, removedSpan.End); 415removedSpan = TextSpan.FromBounds(removedSpan.Start, span.End);
Syntax\SyntaxReplacer.cs (2)
146start = span.Start; 152start = Math.Min(start, span.Start);
Microsoft.CodeAnalysis.CSharp.CodeStyle (38)
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (1)
132var ifStatementSpanWithoutElse = TextSpan.FromBounds(statement.Span.Start, embeddedStatement.Span.End);
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (3)
335var localStatementStart = localStatement.Span.Start; 336var argumentNodeStart = argumentNode.Span.Start; 344var descendentStart = descendentNode.Span.Start;
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
202if (nextToken.Span.Start < ifStatement.Span.End) 204fadeLocation = Location.Create(tree, TextSpan.FromBounds(nextToken.Span.Start, ifStatement.Span.End));
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (1)
227if (IntervalTree.HasIntervalThatOverlapsWith(span.Start, span.End))
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (1)
132var span = TextSpan.FromBounds(section[0].FullSpan.Start, section.Last().FullSpan.End);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
252var descendentStart = descendentNode.Span.Start;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUnboundGenericTypeInNameOf\CSharpUseUnboundGenericTypeInNameOfDiagnosticAnalyzer.cs (1)
81TextSpan.FromBounds(typeArgumentList.LessThanToken.Span.End, typeArgumentList.GreaterThanToken.Span.Start))]));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
206var lineStart = lineSpan.Start; 213? lineSpan.Start + indentationLength
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
92if (conditionalDirectives.Last().Span.End <= statement.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
562if (!textSpan.Contains(matchSpan.Start))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (11)
34positionBeforeModifiers = token.FullSpan.Start; 206if (position > fullSpan.Start && position < fullSpan.End) 213if (position > fullSpan.Start && position <= fullSpan.End) 232if (position > span.Start && position < span.End) 251? position > span.Start && position < span.End 252: position > span.Start && position <= span.End; 287if (position > span.Start && position <= span.End) 313if (position > span.Start && position <= span.End) 362for (int i = token.Span.End - 1, n = token.Span.Start; i >= n; i--) 416return (position > span.Start && position < span.End) 462return (position > span.Start && position < span.End)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (2)
157if (span.Start == 0) 162return syntaxTree.GetRoot(cancellationToken).FindTrivia(span.Start - 1, findInsideTrivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaDataFactory.ComplexTrivia.cs (1)
53var formatSpanEnd = commonToken2.Kind() == SyntaxKind.None ? commonToken1.Span.End : commonToken2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (1)
102return TextSpan.FromBounds(_node.FullSpan.Start, pair.Item2.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (1)
558Debug.Assert(previousToken.FullSpan.End == currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (1)
41startToken, endToken, TextSpan.FromBounds(startToken.Span.Start, endToken.Span.End),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (3)
124span = lastSection ? span : TextSpan.FromBounds(span.Start, endToken.FullSpan.End); 306TextSpan.FromBounds(openParen.Span.End, closeParen.Span.Start)); 370AddIndentBlockOperation(list, firstToken, lastToken, TextSpan.FromBounds(firstToken.FullSpan.Start, lastToken.FullSpan.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
188if (operation.TextSpan.Start >= span.Start && operation.TextSpan.End <= span.End && operation.Option.HasFlag(SuppressOption.NoWrappingIfOnSingleLine))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
41position > typeDecl.CloseBraceToken.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1042return !branch.IsActive || !branch.BranchTaken ? TextSpan.FromBounds(branch.FullSpan.Start, position) : default;
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (48)
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddInheritdoc\AddInheritdocCodeFixProvider.cs (1)
97var indentation = sourceText.GetLeadingWhitespaceOfLineAtPosition(node.Span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
140foreach (var container in unassignedParameters.Keys.OrderByDescending(n => n.Span.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConditionalExpressionInStringInterpolation\CSharpAddParenthesesAroundConditionalExpressionInInterpolatedStringCodeFixProvider.cs (1)
38var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (2)
133if (syntaxTree.IsEntirelyWithinStringLiteral(textLine.Span.Start, out var stringLiteral, cancellationToken)) 222if (tree.IsEntirelyWithinStringLiteral(textLine.Span.Start, cancellationToken))
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
96var enclosingType = semanticModel.GetEnclosingNamedType(span.Start, cancellationToken); 122var memberContainer = matchingMember.ContainingType.ToMinimalDisplayString(semanticModel, span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsService.cs (3)
35if (helpers.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, out var typeDeclaration) || 36helpers.IsBetweenTypeMembers(semanticDocument.Text, semanticDocument.Root, textSpan.Start, out typeDeclaration)) 43var node = semanticDocument.Root.FindToken(textSpan.Start).GetAncestor<TypeSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (1)
43var token = root.FindToken(span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\HiddenExplicitCast\CSharpHiddenExplicitCastCodeFixProvider.cs (1)
41foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.cs (1)
35var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (2)
107var symbol = model.GetEnclosingSymbol(node.Span.Start, cancellationToken); 214var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodAsynchronous\CSharpMakeMethodAsynchronousCodeFixProvider.cs (1)
50var token = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
51var arrowToken = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
51var questionToken = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementCodeFixProvider.cs (1)
67var token = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveInKeyword\RemoveInKeywordCodeFixProvider.cs (1)
40var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveNewModifier\RemoveNewModifierCodeFixProvider.cs (1)
38var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnneccessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierCodeFixProvider.cs (1)
59foreach (var span in spans.OrderByDescending(d => d.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (1)
88foreach (var span in spans.OrderByDescending(d => d.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedLocalFunction\CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (3)
44var localFunctions = diagnostics.OrderBy(static (d1, d2) => d2.Location.SourceSpan.Start - d1.Location.SourceSpan.Start) 45.Select(d => root.FindToken(d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (2)
41var token = syntaxRoot.FindToken(context.Span.Start); 69var defaultToken = syntaxRoot.FindToken(span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
122foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
39foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (1)
42foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (3)
119.Where(a => a.Initializer?.ElementValues.FirstOrDefault()?.Syntax.SpanStart == diagnostic.Location.SourceSpan.Start) 167if (argument.Span.Start == location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (2)
45fixAllSpan = new TextSpan(root.FullSpan.Start, firstTypeOrNamespaceDecl.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (5)
403return Cast<TDeclarationNode>(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 411return Cast<TDeclarationNode>(AppendTriviaAtPosition(newAccessor, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 419return Cast<TDeclarationNode>(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 427return Cast<TDeclarationNode>(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 434return Cast<TDeclarationNode>(AppendTriviaAtPosition(newTypeParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
123stack += (position - token.Span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
89return [.. tokenEdits.Where(t => t.Span.Start >= token.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (3)
55var line = indenter.Text.Lines.GetLineFromPosition(trivia.FullSpan.Start); 56if (line.GetFirstNonWhitespacePosition() != trivia.FullSpan.Start) 60return new IndentationResult(trivia.FullSpan.Start, 0);
Microsoft.CodeAnalysis.CSharp.Features (147)
BraceCompletion\AbstractCurlyBraceOrBracketCompletionService.cs (1)
210var newTextChangeText = formattedText.GetSubText(new TextSpan(newRange.Span.Start + amountToShift, newRange.NewLength)).ToString();
BraceCompletion\ParenthesisBraceCompletionService.cs (1)
59ancestorCloseParen.FullSpan.Start == closeParen.FullSpan.End)
BraceMatching\BlockCommentBraceMatcher.cs (1)
54var startBrace = new TextSpan(trivia.FullSpan.Start, "/**".Length);
ChangeSignature\ChangeSignatureFormattingRule.cs (1)
46span = TextSpan.FromBounds(Math.Max(baseToken.Span.End, span.Start), span.End);
CodeRefactorings\EnableNullable\EnableNullableCodeRefactoringProvider.cs (2)
47var token = root.FindToken(textSpan.Start, findInsideTrivia: true); 49token = root.FindToken(textSpan.Start - 1, findInsideTrivia: true);
CodeRefactorings\SyncNamespace\CSharpSyncNamespaceCodeRefactoringProvider.cs (1)
33var position = span.Start;
CodeRefactorings\UseRecursivePatterns\UseRecursivePatternsCodeRefactoringProvider.cs (1)
60var node = root.FindToken(textSpan.Start).Parent;
Completion\CompletionProviders\DeclarationName\DeclarationNameRecommender.NameGenerator.cs (1)
85var text = baseName.Substring(@break.Start, @break.Length);
Completion\CompletionProviders\ImportCompletion\TypeImportCompletionProvider.cs (1)
60var position = item.Span.Start;
Completion\CompletionProviders\OperatorsAndIndexer\UnnamedSymbolCompletionProvider_Operators.cs (1)
147dotLikeToken.Kind() == SyntaxKind.DotDotToken ? dotLikeToken.Span.Start + 1 : dotLikeToken.Span.End),
ConvertNamespace\ConvertNamespaceCodeRefactoringProvider.cs (1)
41var position = span.Start;
ConvertProgram\ConvertToProgramMainCodeRefactoringProvider.cs (1)
40var position = span.Start;
ConvertToRawString\ConvertInterpolatedStringToRawStringCodeRefactoringProvider.cs (5)
493interpolationInteriorSpans.Add(TextSpan.FromBounds(interpolation.OpenBraceToken.Span.End, interpolation.CloseBraceToken.Span.Start)); 506var startLine = text.Lines.GetLineFromPosition(descendantSpan.Start); 511var start = startLine.GetFirstNonWhitespacePosition() == descendantSpan.Start 513: descendantSpan.Start; 656interpolationInteriorSpans.Any(s => s.Start - 1 == line.Start))
ConvertToRawString\ConvertStringToRawStringCodeRefactoringProvider.cs (1)
75var token = root.FindToken(span.Start);
Copilot\CSharpCopilotCodeFixProvider.cs (1)
79var containingMethod = CSharpSyntaxFacts.Instance.GetContainingMethodDeclaration(root, diagnostic.Location.SourceSpan.Start, useFullSpan: false);
Copilot\CSharpCopilotProposalAdjusterService.cs (2)
43var closeBraceDiagnostics = newDiagnostics.WhereAsArray(d => d.Id == CS1513 && d.Location.SourceSpan.Start >= lastChangeEndPos); 49d => new TextChange(new TextSpan(d.Location.SourceSpan.Start, 0), "}"));
Debugging\BreakpointResolver.cs (1)
37var token = tree.GetRoot(cancellationToken).FindToken(location.SourceSpan.Start);
Debugging\CSharpBreakpointResolutionService.cs (1)
36if (tree == null || !BreakpointSpans.TryGetBreakpointSpan(tree, textSpan.Start, cancellationToken, out var span))
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.cs (6)
144if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false) 161if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false) 178if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false) 195if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false) 233if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false) 250if (_ignoredSpans?.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) ?? false)
EditAndContinue\BreakpointSpans.cs (9)
87if (candidate.HasValue && breakpointSpan.Value.Start != candidate.Value.Start) 307position <= switchExpression.CloseBraceToken.Span.Start: 309switchArm = switchExpression.Arms.LastOrDefault(arm => position >= arm.FullSpan.Start) ?? switchExpression.Arms.First(); 347if (property.Initializer != null && position >= property.Initializer.FullSpan.Start) 443position > constructorSyntax.ExpressionBody.ArrowToken.Span.Start) 616if (position < doStatement.Statement.Span.Start) 673else if (position < forEachStatement.InKeyword.FullSpan.Start) 685else if (position < forEachStatement.Expression.FullSpan.Start)
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (3)
188var position = span.Start; 273Debug.Assert(position == switchExpression.Span.Start); 1938=> (first.Length > 0 && second.Length > 0) ? TextSpan.FromBounds(first.Start, second.End) : (first.Length > 0) ? first : (second.Length > 0) ? second : defaultSpan;
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorWithExplicitInitializerDeclarationBody.cs (1)
41=> TextSpan.FromBounds(InitializerActiveStatementSpan.Start, Body.Span.End);
EditAndContinue\DeclarationBody\OrdinaryInstanceConstructorWithImplicitInitializerDeclarationBody.cs (1)
35=> TextSpan.FromBounds(InitializerActiveStatementSpan.Start, Body.Span.End);
EmbeddedLanguages\CSharpTestEmbeddedLanguageClassifier.cs (2)
68var firstLine = lines.GetLineFromPosition(token.Span.Start); 92virtualCharsWithoutMarkup[0].Span.Start,
ExtractMethod\CSharpMethodExtractor.Analyzer.cs (1)
28var info = this.SemanticModel.GetSpeculativeTypeInfo(SelectionResult.FinalSpan.Start, SyntaxFactory.ParseName(symbol.Name), SpeculativeBindingOption.BindAsExpression);
ExtractMethod\CSharpMethodExtractor.cs (1)
37var originalSpanStart = OriginalSelectionResult.FinalSpan.Start;
ExtractMethod\CSharpSelectionValidator.cs (4)
33var firstTokenInSelection = root.FindTokenOnRightOfPosition(adjustedSpan.Start, includeSkipped: false); 424if (textSpan.Start > previousLine.End) 426return TextSpan.FromBounds(textSpan.Start, previousLine.EndIncludingLineBreak); 429return TextSpan.FromBounds(textSpan.Start, previousLine.End);
GenerateMember\GenerateVariable\CSharpGenerateVariableService.cs (2)
161var startIndex = identifierName.Span.Start - localRoot.Span.Start;
GoToDefinition\CSharpGoToDefinitionSymbolService.cs (3)
38? foundContinuedLoop.GetFirstToken().Span.Start 66return foundReturnableConstruct.GetFirstToken().Span.Start; 69return symbol.Locations.FirstOrDefault()?.SourceSpan.Start ?? 0;
Highlighting\KeywordHighlighters\AsyncAwaitHighlighter.cs (1)
110spans[^1] = TextSpan.FromBounds(lastSpan.Start, mod.Span.End);
ImplementInterface\AbstractChangeImplementationCodeRefactoringProvider.cs (2)
134var token = root.FindToken(span.Start); 148: TextSpan.FromBounds(explicitName.FullSpan.Start, identifier.FullSpan.End);
InlineHints\CSharpInlineParameterNameHintsService.cs (2)
55buffer.Add((argument.Span.Start, argument, parameter, GetKind(argument.Expression))); 82buffer.Add((argument.Span.Start, argument, parameter, GetKind(argument.Expression)));
SignatureHelp\AttributeSignatureHelpProvider.cs (2)
118currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList!).Start)
SignatureHelp\ConstructorInitializerSignatureHelpProvider.cs (2)
114currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(initializer.ArgumentList).Start)
SignatureHelp\ElementAccessExpressionSignatureHelpProvider.cs (2)
118return TextSpan.FromBounds(conditional.Span.Start, openBracket.FullSpan.End); 143currentSpan.Start != expression.SpanStart)
SignatureHelp\InitializerExpressionSignatureHelpProvider.cs (2)
86currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression).Start)
SignatureHelp\InvocationExpressionSignatureHelpProvider.cs (2)
164currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start)
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.cs (2)
131currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start)
SignatureHelp\PrimaryConstructorBaseTypeSignatureHelpProvider.cs (2)
110currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start)
SignatureHelp\TupleConstructionSignatureHelpProvider.cs (1)
51if (currentSpan.Start == parenthesizedExpression.SpanStart)
SignatureHelp\WithElementSignatureHelpProvider.cs (2)
105currentSpan.Start == SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start)
Snippets\AbstractCSharpTypeSnippetProvider.cs (1)
87var line = sourceText.Lines.GetLineFromPosition(triviaSpan.Start);
Snippets\CSharpIntMainSnippetProvider.cs (1)
45var line = sourceText.Lines.GetLineFromPosition(triviaSpan.Start);
Snippets\CSharpSnippetFunctionService.cs (2)
33var token = syntaxTree.FindTokenOnRightOfPosition(switchExpressionSpan.Start, cancellationToken); 56var typeSpan = new TextSpan(caseGenerationLocation.Start + "case ".Length, fullyQualifiedTypeName.Length);
Snippets\CSharpSnippetHelpers.cs (1)
24var line = sourceText.Lines.GetLineFromPosition(triviaSpan.Start);
SplitStringLiteral\InterpolatedStringSplitter.cs (1)
50else if (content.Span.Start >= CursorPosition)
SplitStringLiteral\StringSplitter.cs (1)
119return (newRoot2, rightExpression.Span.Start + indentString.Length + StringOpenQuoteLength());
src\roslyn\src\Analyzers\CSharp\Analyzers\AddBraces\CSharpAddBracesDiagnosticAnalyzer.cs (1)
132var ifStatementSpanWithoutElse = TextSpan.FromBounds(statement.Span.Start, embeddedStatement.Span.End);
src\roslyn\src\Analyzers\CSharp\Analyzers\InlineDeclaration\CSharpInlineDeclarationDiagnosticAnalyzer.cs (3)
335var localStatementStart = localStatement.Span.Start; 336var argumentNodeStart = argumentNode.Span.Start; 344var descendentStart = descendentNode.Span.Start;
src\roslyn\src\Analyzers\CSharp\Analyzers\InvokeDelegateWithConditionalAccess\InvokeDelegateWithConditionalAccessAnalyzer.cs (2)
202if (nextToken.Span.Start < ifStatement.Span.End) 204fadeLocation = Location.Create(tree, TextSpan.FromBounds(nextToken.Span.Start, ifStatement.Span.End));
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryNullableDirective\CSharpRemoveUnnecessaryNullableDirectiveDiagnosticAnalyzer.cs (1)
227if (IntervalTree.HasIntervalThatOverlapsWith(span.Start, span.End))
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnreachableCode\CSharpRemoveUnreachableCodeDiagnosticAnalyzer.cs (1)
132var span = TextSpan.FromBounds(section[0].FullSpan.Start, section.Last().FullSpan.End);
src\roslyn\src\Analyzers\CSharp\Analyzers\UseLocalFunction\CSharpUseLocalFunctionDiagnosticAnalyzer.cs (1)
252var descendentStart = descendentNode.Span.Start;
src\roslyn\src\Analyzers\CSharp\Analyzers\UseUnboundGenericTypeInNameOf\CSharpUseUnboundGenericTypeInNameOfDiagnosticAnalyzer.cs (1)
81TextSpan.FromBounds(typeArgumentList.LessThanToken.Span.End, typeArgumentList.GreaterThanToken.Span.Start))]));
src\roslyn\src\Analyzers\CSharp\CodeFixes\AddInheritdoc\AddInheritdocCodeFixProvider.cs (1)
97var indentation = sourceText.GetLeadingWhitespaceOfLineAtPosition(node.Span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\AssignOutParameters\AbstractAssignOutParametersCodeFixProvider.cs (1)
140foreach (var container in unassignedParameters.Keys.OrderByDescending(n => n.Span.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConditionalExpressionInStringInterpolation\CSharpAddParenthesesAroundConditionalExpressionInInterpolatedStringCodeFixProvider.cs (1)
38var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\ConvertNamespace\ConvertNamespaceTransform.cs (2)
133if (syntaxTree.IsEntirelyWithinStringLiteral(textLine.Span.Start, out var stringLiteral, cancellationToken)) 222if (tree.IsEntirelyWithinStringLiteral(textLine.Span.Start, cancellationToken))
src\roslyn\src\Analyzers\CSharp\CodeFixes\DisambiguateSameVariable\CSharpDisambiguateSameVariableCodeFixProvider.cs (2)
96var enclosingType = semanticModel.GetEnclosingNamedType(span.Start, cancellationToken); 122var memberContainer = matchingMember.ContainingType.ToMinimalDisplayString(semanticModel, span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateDefaultConstructors\CSharpGenerateDefaultConstructorsService.cs (3)
35if (helpers.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, out var typeDeclaration) || 36helpers.IsBetweenTypeMembers(semanticDocument.Text, semanticDocument.Root, textSpan.Start, out typeDeclaration)) 43var node = semanticDocument.Root.FindToken(textSpan.Start).GetAncestor<TypeSyntax>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\GenerateMethod\GenerateDeconstructMethodCodeFixProvider.cs (1)
43var token = root.FindToken(span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\HiddenExplicitCast\CSharpHiddenExplicitCastCodeFixProvider.cs (1)
41foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\HideBase\HideBaseCodeFixProvider.cs (1)
35var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\Iterator\CSharpAddYieldCodeFixProvider.cs (2)
107var symbol = model.GetEnclosingSymbol(node.Span.Start, cancellationToken); 214var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\CSharp\CodeFixes\MakeMethodAsynchronous\CSharpMakeMethodAsynchronousCodeFixProvider.cs (1)
50var token = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ArrowExpressionClausePlacement\ArrowExpressionClausePlacementCodeFixProvider.cs (1)
51var arrowToken = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConditionalExpressionPlacement\ConditionalExpressionPlacementCodeFixProvider.cs (1)
51var questionToken = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\NewLines\ConsecutiveBracePlacement\ConsecutiveBracePlacementCodeFixProvider.cs (1)
67var token = root.FindToken(diagnostic.Location.SourceSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveInKeyword\RemoveInKeywordCodeFixProvider.cs (1)
40var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveNewModifier\RemoveNewModifierCodeFixProvider.cs (1)
38var token = root.FindToken(diagnosticSpan.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnneccessaryUnsafeModifier\CSharpRemoveUnnecessaryUnsafeModifierCodeFixProvider.cs (1)
59foreach (var span in spans.OrderByDescending(d => d.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnnecessarySuppressions\CSharpRemoveUnnecessaryNullableWarningSuppressionsCodeFixProvider.cs (1)
88foreach (var span in spans.OrderByDescending(d => d.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\RemoveUnusedLocalFunction\CSharpRemoveUnusedLocalFunctionCodeFixProvider.cs (3)
44var localFunctions = diagnostics.OrderBy(static (d1, d2) => d2.Location.SourceSpan.Start - d1.Location.SourceSpan.Start) 45.Select(d => root.FindToken(d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\ReplaceDefaultLiteral\CSharpReplaceDefaultLiteralCodeFixProvider.cs (2)
41var token = syntaxRoot.FindToken(context.Span.Start); 69var defaultToken = syntaxRoot.FindToken(span.Start);
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseExplicitArrayInExpressionTree\CSharpUseExplicitArrayInExpressionTreeCodeFixProvider.cs (1)
122foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseIndexOrRangeOperator\CSharpUseIndexOperatorCodeFixProvider.cs (1)
39foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePatternMatching\CSharpAsAndMemberAccessCodeFixProvider.cs (1)
42foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UsePrimaryConstructor\CSharpUsePrimaryConstructorFixAllProvider.cs (1)
50foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseSystemThreadingLock\CSharpUseSystemThreadingLockFixAllProvider.cs (1)
42foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseUtf8StringLiteral\UseUtf8StringLiteralCodeFixProvider.cs (3)
119.Where(a => a.Initializer?.ElementValues.FirstOrDefault()?.Syntax.SpanStart == diagnostic.Location.SourceSpan.Start) 167if (argument.Span.Start == location.SourceSpan.Start)
StringIndentation\CSharpStringIndentationService.cs (2)
55if (childSpan.Start > textSpan.End) 58if (childSpan.End < textSpan.Start)
Structure\CSharpStructureHelpers.cs (1)
245var startPosition = firstComment.HasValue ? firstComment.Value.FullSpan.Start : startToken.SpanStart;
Structure\Providers\ArrowExpressionClauseStructureProvider.cs (4)
30hintSpan: TextSpan.FromBounds(parent.Span.Start, end), 55matchingDirectives[0].Span.Start >= parent.Span.Start && 56matchingDirectives.All(d => d.Span.End <= nextToken.Span.Start))
Structure\Providers\BlockSyntaxStructureProvider.cs (1)
162var start = parent.Span.Start;
Structure\Providers\DisabledTextTriviaStructureProvider.cs (1)
29var startPos = trivia.FullSpan.Start;
Structure\Providers\DocumentationCommentStructureProvider.cs (1)
31var startPos = documentationComment.FullSpan.Start;
Structure\Providers\RegionDirectiveStructureProvider.cs (1)
19var prefixLength = kw.Span.End - simpleDirective.Span.Start;
Structure\Providers\StringLiteralExpressionStructureProvider.cs (1)
50if (sourceText.Lines.GetLineFromPosition(span.Start).LineNumber !=
SyncedSource\FileBasedPrograms\FileLevelDirectiveHelpers.cs (1)
183return previousWhiteSpaceSpan.IsEmpty ? trivia.FullSpan : TextSpan.FromBounds(previousWhiteSpaceSpan.Start, trivia.FullSpan.End);
TaskList\CSharpTaskListService.cs (1)
40var start = trivia.FullSpan.Start + index;
UseExpressionBody\UseExpressionBodyCodeRefactoringProvider.cs (1)
64var position = textSpan.Start;
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (1)
Microsoft.CodeQuality.Analyzers\ApiDesignGuidelines\CSharpStaticHolderTypes.Fixer.cs (1)
38ClassDeclarationSyntax? classDeclaration = root.FindToken(span.Start).Parent?.FirstAncestorOrSelf<ClassDeclarationSyntax>();
Microsoft.CodeAnalysis.CSharp.Workspaces (62)
Classification\ClassificationHelpers.cs (1)
510var tokens = SyntaxFactory.ParseTokens(text2, initialTokenPosition: textSpan.Start);
Classification\SyntaxClassification\DocCommentCodeBlockClassifier.cs (2)
155var start = ch.Span.Start; 158while (i < virtualCharsBuilder.Count && virtualCharsBuilder[i] is var nextCh && nextCh.Span.Start == end)
Classification\Worker.cs (4)
85var textSpanStart = _textSpan.Start; 105else if (childSpan.Start > textSpanEnd) 133AddClassification(TextSpan.FromBounds(token.Span.Start, token.Span.End - "u8".Length), type); 164var classificationSpanStart = _textSpan.Start;
Classification\Worker_DocumentationComments.cs (3)
24if (childFullSpan.Start > _textSpan.End) 28else if (childFullSpan.End < _textSpan.Start) 116spanStart = trivia.Span.Start + index;
EmbeddedLanguages\CSharpTestEmbeddedLanguageUtilities.cs (2)
64var startIndexInclusive = classifiedSpan.TextSpan.Start; 73virtualChars[currentEndIndexExclusive - 1].Span.End == virtualChars[currentEndIndexExclusive].Span.Start)
Recommendations\CSharpRecommendationServiceRunner.cs (1)
537return parameterReference.Span.Start >= containingStaticFunction.SpanStart;
Rename\CSharpRenameRewriterLanguageService.cs (6)
109newSpan = new TextSpan(oldSpan.Start, newSpan.Length); 314_renameSpansTracker.AddComplexifiedSpan(_documentId, oldSpan, new TextSpan(oldSpan.Start, newSpan.Length), _modifiedSubSpans); 346var symbols = RenameUtilities.GetSymbolsTouchingPosition(token.Span.Start, _semanticModel, _solution.Services, _cancellationToken); 866var token = await tree.GetTouchingTokenAsync(location.SourceSpan.Start, cancellationToken, findInsideTrivia: true).ConfigureAwait(false); 894var token = await location.SourceTree!.GetTouchingTokenAsync(location.SourceSpan.Start, cancellationToken, findInsideTrivia: true).ConfigureAwait(false); 971implicitReferenceLocation.Location.SourceSpan.Start, cancellationToken, findInsideTrivia: false).ConfigureAwait(false);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
206var lineStart = lineSpan.Start; 213? lineSpan.Start + indentationLength
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
92if (conditionalDirectives.Last().Span.End <= statement.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
562if (!textSpan.Contains(matchSpan.Start))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (11)
34positionBeforeModifiers = token.FullSpan.Start; 206if (position > fullSpan.Start && position < fullSpan.End) 213if (position > fullSpan.Start && position <= fullSpan.End) 232if (position > span.Start && position < span.End) 251? position > span.Start && position < span.End 252: position > span.Start && position <= span.End; 287if (position > span.Start && position <= span.End) 313if (position > span.Start && position <= span.End) 362for (int i = token.Span.End - 1, n = token.Span.Start; i >= n; i--) 416return (position > span.Start && position < span.End) 462return (position > span.Start && position < span.End)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (2)
157if (span.Start == 0) 162return syntaxTree.GetRoot(cancellationToken).FindTrivia(span.Start - 1, findInsideTrivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaDataFactory.ComplexTrivia.cs (1)
53var formatSpanEnd = commonToken2.Kind() == SyntaxKind.None ? commonToken1.Span.End : commonToken2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (1)
102return TextSpan.FromBounds(_node.FullSpan.Start, pair.Item2.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (1)
558Debug.Assert(previousToken.FullSpan.End == currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (1)
41startToken, endToken, TextSpan.FromBounds(startToken.Span.Start, endToken.Span.End),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (3)
124span = lastSection ? span : TextSpan.FromBounds(span.Start, endToken.FullSpan.End); 306TextSpan.FromBounds(openParen.Span.End, closeParen.Span.Start)); 370AddIndentBlockOperation(list, firstToken, lastToken, TextSpan.FromBounds(firstToken.FullSpan.Start, lastToken.FullSpan.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
188if (operation.TextSpan.Start >= span.Start && operation.TextSpan.End <= span.End && operation.Option.HasFlag(SuppressOption.NoWrappingIfOnSingleLine))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
41position > typeDecl.CloseBraceToken.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
523var interceptsLocationData = new InterceptsLocationData(contentHash, simpleName.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1042return !branch.IsActive || !branch.BranchTaken ? TextSpan.FromBounds(branch.FullSpan.Start, position) : default;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (2)
45fixAllSpan = new TextSpan(root.FullSpan.Start, firstTypeOrNamespaceDecl.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (5)
403return Cast<TDeclarationNode>(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 411return Cast<TDeclarationNode>(AppendTriviaAtPosition(newAccessor, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 419return Cast<TDeclarationNode>(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 427return Cast<TDeclarationNode>(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 434return Cast<TDeclarationNode>(AppendTriviaAtPosition(newTypeParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
123stack += (position - token.Span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
89return [.. tokenEdits.Where(t => t.Span.Start >= token.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (3)
55var line = indenter.Text.Lines.GetLineFromPosition(trivia.FullSpan.Start); 56if (line.GetFirstNonWhitespacePosition() != trivia.FullSpan.Start) 60return new IndentationResult(trivia.FullSpan.Start, 0);
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore (1)
EmbeddedLanguages\AspNetCoreVirtualCharSequence.cs (1)
36public AspNetCoreVirtualCharSequence GetSubSequence(TextSpan span) => new(_virtualCharSequence[span.Start..span.End]);
Microsoft.CodeAnalysis.Features (273)
AddFileBanner\AbstractAddFileBannerCodeRefactoringProvider.cs (1)
51var position = span.Start;
AddImport\AbstractAddImportCodeRefactoringProvider.cs (1)
55var token = root.FindToken(textSpan.Start);
AddImport\AbstractAddImportFeatureService.cs (1)
95var node = root.FindToken(span.Start, findInsideTrivia: true)
BraceCompletion\AbstractBraceCompletionService.cs (1)
95return new BraceCompletionContext(document, fallbackOptions, leftToken.GetLocation().SourceSpan.Start, rightToken.GetLocation().SourceSpan.End, caretLocation);
BraceMatching\IBraceMatchingServiceExtensions.cs (4)
36if (braces1.HasValue && position >= braces1.Value.LeftSpan.Start && position < braces1.Value.LeftSpan.End) 41else if (braces2.HasValue && position > braces2.Value.RightSpan.Start && position <= braces2.Value.RightSpan.End) 46else if (braces2.HasValue && position > braces2.Value.LeftSpan.Start && position <= braces2.Value.LeftSpan.End) 51else if (braces1.HasValue && position >= braces1.Value.RightSpan.Start && position < braces1.Value.RightSpan.End)
ChangeSignature\AbstractChangeSignatureService.cs (4)
96var context = await GetChangeSignatureContextAsync(document, span.Start, restrictToDeclarations: true, cancellationToken).ConfigureAwait(false); 657if (position < parameters.Span.Start) 671if (position <= parameters.GetSeparator(i).Span.Start) 946.OrderByDescending(s => s.Locations.First().SourceSpan.Start);
ClassifiedSpansAndHighlightSpanFactory.cs (6)
46var sourceLine = sourceText.Lines.GetLineFromPosition(referenceSpan.Start); 53return TextSpan.FromBounds(Math.Min(firstNonWhitespacePosition, referenceSpan.Start), sourceLine.End); 60start: narrowSpan.Start - widenedSpan.Start, 83new ClassifiedSpan(ClassificationTypeNames.Text, TextSpan.FromBounds(widenedSpan.Start, narrowSpan.Start)),
CodeFixes\Suppression\AbstractSuppressionBatchFixAllProvider.cs (1)
281tuple => tuple.action, tuple => tuple.diagnostic?.Location.SourceSpan.Start ?? 0);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.cs (2)
264if (syntaxTree.GetLineVisibility(span.Start, cancellationToken) == LineVisibility.Hidden) 270var indexOfLine = lines.IndexOf(span.Start);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.PragmaBatchFixHelpers.cs (4)
132static bool IsPriorSpan(TextSpan span, TextChange textChange) => span.End <= textChange.Span.Start; 133static bool IsFollowingSpan(TextSpan span, TextChange textChange) => span.Start >= textChange.Span.End; 160var newStart = currentSpan.Start + delta; 168currentSpan = new TextSpan(currentSpan.Start, newLength);
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.PragmaHelpers.cs (6)
46diagnosticSpan = new TextSpan(diagnosticSpan.Start + spanChange, diagnosticSpan.Length); 73? trivia.FullSpan.End <= currentDiagnosticSpan.Start 74: trivia.FullSpan.Start >= currentDiagnosticSpan.End; 120else if (startToken.FullSpan.Start == 0) 224var subtreeRoot = root.FindNode(new TextSpan(previousOfStart.FullSpan.Start, spanEnd - previousOfStart.FullSpan.Start));
CodeFixes\Suppression\AbstractSuppressionCodeFixProvider.RemoveSuppressionCodeAction_Pragma.cs (3)
125bool shouldIncludeTrivia(SyntaxTrivia t) => isStartToken ? t.FullSpan.End <= diagnosticSpan.Start : t.FullSpan.Start >= diagnosticSpan.End; 209start: Math.Max(0, trivia.Span.Start - 1),
CodeLens\CodeLensReferencesService.cs (9)
119var position = location.SourceSpan.Start; 131var spanStart = token.Span.Start - textLine.Span.Start; 150token.Span.Start, 156referenceSpan.Start, 270result.Span.Start, 292reference.Value.MappedSpan.Start, 307var mappedLine = lines.GetLineFromPosition(tooltip.Value.MappedSpan.Start); 330var enclosingSymbol = semanticModel.GetEnclosingSymbol(location.SourceSpan.Start, cancellationToken);
CodeRefactorings\AddMissingImports\AbstractAddMissingImportsFeatureService.cs (3)
114.Select(changes => new TextSpan(changes.Key.Start, changes.Sum(change => change.NewText!.Length))); 240_text.GetLineAndOffset(previousToken.Span.Start, out var previousLine, out _); 241_text.GetLineAndOffset(currentToken.Span.Start, out var currentLine, out _);
CodeRefactorings\SyncNamespace\AbstractChangeNamespaceService.cs (2)
910return x.Span.Start - y.Span.Start;
Completion\Providers\AbstractAwaitCompletionProvider.cs (2)
221builder.Add(new TextChange(TextSpan.FromBounds(item.Span.Start, currentSpanEnd), _awaitKeyword)); 225var position = item.Span.Start;
Completion\Providers\AbstractDocCommentCompletionProvider.cs (4)
305var replacementSpan = TextSpan.FromBounds(text[itemSpan.Start - 1] == '<' && beforeCaretText[0] == '<' ? itemSpan.Start - 1 : itemSpan.Start, spanEnd); 308var newPosition = replacementSpan.Start + beforeCaretText.Length;
Completion\Providers\AbstractInternalsVisibleToCompletionProvider.cs (2)
253var token = root.FindToken(result.Start); 262text, startSpan.Start, IsWordCharacter, IsWordCharacter, alwaysExtendEndSpan: true);
Completion\Providers\AbstractMemberInsertingCompletionProvider.cs (3)
238if (targetSelectionSpan.Start > 0 && targetSelectionSpan.End <= text.Length) 242Debug.Assert(targetSelectionSpan.End < destinationSpan.Start); 249text.GetLineAndOffset(destinationSpan.Start, out var lineNumber, out _);
Completion\Providers\AbstractObjectInitializerCompletionProvider.cs (1)
80contextPosition: initializerLocation.SourceSpan.Start,
Completion\Providers\AbstractPartialMethodCompletionProvider.cs (2)
105var displayText = GetDisplayText(method, semanticModel, span.Start); 114span.Start,
Completion\Providers\CompletionUtilities.cs (1)
109var currentIdentifierEnd = ScanForwardThroughIdentifier(item.Span.Start, text, syntaxFacts);
Completion\Providers\ImportCompletionProvider\AbstractImportCompletionProvider.cs (2)
147var completionItemPosition = completionItem.Span.Start; 208return await IsInImportsDirectiveAsync(document, completionItem.Span.Start, cancellationToken).ConfigureAwait(false);
Completion\Providers\Snippets\AbstractSnippetCompletionProvider.cs (5)
49var lspSnippet = await RoslynLSPSnippetConverter.GenerateLSPSnippetAsync(allChangesDocument, snippetChange.FinalCaretPosition, snippetChange.Placeholders, change, item.Span.Start, cancellationToken).ConfigureAwait(false); 53if (change.Span.Start > item.Span.Start) 55var textSpan = TextSpan.FromBounds(item.Span.Start, change.Span.End); 135return (newDocument, span.Start);
Completion\Providers\SymbolCompletionItem.cs (1)
206position = item.Span.Start;
Completion\Utilities.cs (2)
31var totalOldSpan = TextSpan.FromBounds(changes.First().Span.Start, changes.Last().Span.End); 40var totalNewSpan = new TextSpan(totalOldSpan.Start, totalOldSpan.Length + sumOfDeltas);
ConvertAnonymousType\AbstractConvertAnonymousTypeToClassCodeRefactoringProvider.cs (1)
86var position = span.Start;
ConvertForToForEach\AbstractConvertForToForEachCodeRefactoringProvider.cs (1)
108var containingType = semanticModel.GetEnclosingNamedType(textSpan.Start, cancellationToken);
ConvertToInterpolatedString\ConvertRegularStringToInterpolatedStringRefactoringProvider.cs (1)
38var token = root.FindToken(context.Span.Start);
ConvertTupleToStruct\AbstractConvertTupleToStructCodeRefactoringProvider.cs (2)
256var token = root.FindToken(renamedToken.span.Start); 271var position = span.Start;
Copilot\CopilotUtilities.cs (5)
46newSpans.Add(new TextSpan(change.Span.Start + totalDelta, newTextLength)); 67builder.Sort(static (c1, c2) => c1.Span.Start - c2.Span.Start); 85Contract.ThrowIfTrue(!textChanges.IsSorted(static (c1, c2) => c1.Span.Start - c2.Span.Start), "'changes' was not sorted.");
Copilot\ICopilotChangeAnalysisService.cs (1)
308codeFixCollection.TextSpan.Start,
Copilot\IProposalAdjusterService.cs (21)
203span.Start > 0 && 204originalText[span.Start - 1] == '\r') 207if (span.Start < originalText.Length && originalText[span.Start] == '\n') 210span = TextSpan.FromBounds(span.Start + 1, Math.Max(span.Start + 1, span.End)); 225span = TextSpan.FromBounds(Math.Min(span.Start, span.End - 1), span.End - 1); 286if (editSpan.Length == 0 && editSpan.Start == protectedSpan.End) 289return editSpan.Start < protectedSpan.End && editSpan.End > protectedSpan.Start; 305var overlapsStart = change.Span.Start <= protectedSpan.Start; 319var beforeSpan = TextSpan.FromBounds(change.Span.Start, protectedSpan.Start); 331var overlapText = originalText.ToString(TextSpan.FromBounds(protectedSpan.Start, change.Span.End)); 336TextSpan.FromBounds(change.Span.Start, protectedSpan.Start), 341var overlapText = originalText.ToString(TextSpan.FromBounds(change.Span.Start, protectedSpan.End)); 428newSpans.Min(span => span.Start), 432var startToken = forkedRoot.FindToken(newSpan.Start); 435startToken.FullSpan.Start,
Debugging\AbstractBreakpointResolver.cs (1)
83var textSpan = new TextSpan(location.SourceSpan.Start, 0);
Debugging\DebugDataTipInfo.cs (1)
24=> Span.Length == 0 && Span.Start == 0 && Text == null;
Diagnostics\Service\DocumentAnalysisExecutor.cs (3)
281var startNode = service.GetContainingMemberDeclaration(root, span.Value.Start); 299return TextSpan.FromBounds(Math.Min(startSpan.Start, endSpan.Start), Math.Max(startSpan.End, endSpan.End));
DocumentationComments\AbstractDocumentationCommentSnippetService.cs (5)
95new TextSpan(token.Span.Start, spanToReplaceLength), 114var line = text.Lines.GetLineFromPosition(documentationComment!.FullSpan.Start); 166var line = text.Lines.GetLineFromPosition(documentationComment.FullSpan.Start); 306var start = token.Span.Start; 348var replaceSpan = new TextSpan(token.Span.Start, 0);
DocumentHighlighting\AbstractDocumentHighlightsService.cs (1)
325var token = root.FindToken(location.SourceSpan.Start, findInsideTrivia: true);
DocumentSpanExtensions.cs (2)
26workspace, documentSpan.Document.Id, documentSpan.SourceSpan.Start, cancellationToken); 36return tree.IsHiddenPosition(documentSpan.SourceSpan.Start, cancellationToken);
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (11)
717var line = text.Lines.GetLineFromPosition(diagnostic.Span.Start); 719lineText = text.ToString(TextSpan.FromBounds(diagnostic.Span.Start, Math.Min(diagnostic.Span.Start + 120, line.End))); 970var node = TryGetNode(topMatch.OldRoot, oldStatementSpan.Start); 1008var adjustedOldStatementStart = oldBody.ContainsActiveStatementSpan(oldStatementSpan) ? oldStatementSpan.Start : oldBody.Envelope.Start; 1543if (!newEncompassingAncestor.Span.Contains(newStatementSyntaxSpan.Start)) 1548newStatementSyntax = newEncompassingAncestor.FindToken(newStatementSyntaxSpan.Start).Parent; 1754var node = root.FindToken(unmappedActiveStatementSpan.Start).Parent; 2404rudeEditSpan = TextSpan.FromBounds(newTokensEnum.Current.FullSpan.Start, newTokensEnum.Current.SpanStart); 6886if (position < span.Start)
EditAndContinue\ActiveStatementsMap.cs (2)
195oldRoot.FullSpan.Contains(unmappedSpan.Start) && 244Debug.Assert(builder.IsSorted(Comparer<UnmappedActiveStatement>.Create((x, y) => x.UnmappedSpan.Start.CompareTo(y.UnmappedSpan.End))));
EditAndContinue\MemberBody.cs (2)
66envelope.Start, 69startPositionComparer: (x, y) => x.UnmappedSpan.Start.CompareTo(y));
EmbeddedLanguages\DateAndTime\DateAndTimeEmbeddedCompletionProvider.cs (1)
113properties.Add(new(StartKey, textChange.Span.Start.ToString()));
EmbeddedLanguages\DateAndTime\EmbeddedCompletionContext.cs (1)
66else if (ch.Span.Start >= endPosition)
EmbeddedLanguages\Json\JsonLexer.cs (1)
317=> TextSpan.FromBounds(Text[startInclusive].Span.Start, Text[endExclusive - 1].Span.End);
EmbeddedLanguages\Json\JsonParser.cs (3)
154return d1.Value.Span.Start <= d2.Value.Span.Start ? d1 : d2; 592: new TextSpan(token.VirtualChars[0].Span.Start, 0);
EmbeddedLanguages\Json\JsonParser.StrictSyntaxChecker.cs (1)
243return 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\EmbeddedCompletionContext.cs (1)
47? parentOpt.GetSpan().Start
EmbeddedLanguages\RegularExpressions\LanguageServices\RegexEmbeddedCompletionProvider.cs (1)
100properties.Add(KeyValuePair.Create(StartKey, textChange.Span.Start.ToString()));
EmbeddedLanguages\RegularExpressions\RegexLexer.cs (1)
177=> TextSpan.FromBounds(Text[startInclusive].Span.Start, Text[endExclusive - 1].Span.End);
EmbeddedLanguages\RegularExpressions\RegexParser.cs (3)
369var firstCharIndex = text.FindIndex(startCharacter.Span.Start); 370var lastCharIndex = text.FindIndex(lastCharacter.Span.Start); 733: new TextSpan(token.VirtualChars[0].Span.Start, 0);
ExtractClass\AbstractExtractClassRefactoringProvider.cs (1)
82memberNodeSymbolPairs.First().node.FullSpan.Start,
ExtractInterface\AbstractExtractInterfaceService.cs (1)
50var typeAnalysisResult = await AnalyzeTypeAtPositionAsync(document, span.Start, TypeDiscoveryRule.TypeNameOnly, cancellationToken).ConfigureAwait(false);
ExtractMethod\AbstractSyntaxTriviaService.cs (3)
94var triviaAtBeginning = SplitTrivia(tokens[TriviaLocation.BeforeBeginningOfSpan], tokens[TriviaLocation.AfterBeginningOfSpan], t => t.FullSpan.End <= textSpan.Start); 95var triviaAtEnd = SplitTrivia(tokens[TriviaLocation.BeforeEndOfSpan], tokens[TriviaLocation.AfterEndOfSpan], t => t.FullSpan.Start < textSpan.End); 112[TriviaLocation.AfterBeginningOfSpan] = root.FindTokenOnRightOfPosition(textSpan.Start, includeSkipped: false)
ExtractMethod\MethodExtractor.Analyzer.cs (1)
434var analysisRange = TextSpan.FromBounds(SelectionResult.FinalSpan.Start, containingScope.Span.End);
ExtractMethod\MethodExtractor.cs (1)
238var currentType = semanticModel.GetSpeculativeTypeInfo(this.OriginalSelectionResult.FinalSpan.Start, typeName, SpeculativeBindingOption.BindAsTypeOrNamespace).Type;
ExtractMethod\MethodExtractor.VariableSymbol.cs (2)
113return locationLeft.SourceSpan.Start - locationRight.SourceSpan.Start;
ExtractMethod\SelectionValidator.cs (7)
69var token1 = root.FindToken(textSpan.Start); 81if (firstStatement == null && statement.SpanStart >= textSpan.Start) 101? Math.Min(initialSelectionInfo.FirstTokenInOriginalSpan.SpanStart, adjustedSpan.Start) 102: finalSelectionInfo.FirstTokenInFinalSpan.FullSpan.Start; 143var token1 = root.FindToken(textSpan.Start); 159if (statement.Span.End < textSpan.Start) 167if (statement.SpanStart <= textSpan.Start)
FindUsages\FindUsagesHelpers.cs (1)
115return rangeVariable.ToMinimalDisplayParts(semanticModel, sourceSpan.Start);
Formatting\FormattingRuleUtilities.cs (1)
18var position = (span.Start + span.End) / 2;
FullyQualify\AbstractFullyQualifyService.cs (1)
68var node = root.FindToken(span.Start).GetAncestors<SyntaxNode>().First(n => n.Span.Contains(span));
GenerateComparisonOperators\GenerateComparisonOperatorsCodeRefactoringProvider.cs (3)
52if (!helpers.IsOnTypeHeader(root, textSpan.Start, fullHeader: true, out var typeDeclaration) && 53!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out typeDeclaration)) 107var displayString = typeArg.ToMinimalDisplayString(semanticModel, textSpan.Start);
GenerateConstructors\AbstractGenerateConstructorsCodeRefactoringProvider.cs (2)
202if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) && 203!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out typeDeclaration))
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeFromMembersCodeRefactoringProvider.cs (3)
80if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) && 81!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out typeDeclaration)) 186var typeDeclaration = syntaxFacts.GetContainingTypeDeclaration(root, textSpan.Start);
GenerateOverrides\GenerateOverridesCodeRefactoringProvider.cs (2)
40if (!helpers.IsOnTypeHeader(root, textSpan.Start, out var typeDeclaration) && 41!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out typeDeclaration))
ImplementInterface\ImplementInterfaceCodeRefactoringProvider.cs (1)
31if (!helpers.IsBetweenTypeMembers(sourceText, root, textSpan.Start, out var typeDeclaration))
InlineHints\AbstractInlineTypeHintsService.cs (1)
68var spanStart = span.Start;
InlineTemporary\AbstractInlineTemporaryCodeRefactoringProvider.cs (1)
47.Select(loc => root.FindToken(loc.Location.SourceSpan.Start).Parent as TIdentifierNameSyntax)
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (1)
299.OrderByDescending(reference => reference.Location.SourceSpan.Start);
InvertIf\AbstractInvertIfCodeRefactoringProvider.cs (1)
109var token = root.FindToken(textSpan.Start, findInsideTrivia: true);
MoveStaticMembers\AbstractMoveStaticMembersRefactoringProvider.cs (1)
65memberNodeSymbolPairs.First().node.FullSpan.Start,
MoveToNamespace\AbstractMoveToNamespaceService.cs (2)
54var typeAnalysisResult = await AnalyzeTypeAtPositionAsync(document, span.Start, cancellationToken).ConfigureAwait(false); 247var moveSpan = new TextSpan(container.FullSpan.Start, 0);
NavigateTo\NavigateToUtilities.cs (1)
31var spanStart = item.SourceSpan.Start;
NavigateTo\RegexPatternDetector.cs (1)
92var containerEnd = dotSpan.Start;
OrganizeImports\OrganizeImportsCodeRefactoringProvider.cs (1)
71var token = oldRoot.FindToken(span.Start);
PullMemberUp\AbstractPullMemberUpRefactoringProvider.cs (1)
74memberNodeSymbolPairs.First().node.FullSpan.Start,
QuickInfo\IndentationHelper.cs (8)
49var startLineNumber = lines.GetLineFromPosition(span.Start).LineNumber; 59if (deletion.Start > span.Start) 61var spanBeforeDeletion = TextSpan.FromBounds(span.Start, Math.Min(span.End, deletion.Start)); 68if (deletion.End > span.Start) 93var startLineNumber = lines.GetLineFromPosition(span.TextSpan.Start).LineNumber; 111if (startLineFirstNonWhitespace is int value && value < span.TextSpan.Start)
QuickInfo\QuickInfoUtilities.cs (1)
38var groups = await descriptionService.ToDescriptionGroupsAsync(semanticModel, span.Start, symbols, options, cancellationToken).ConfigureAwait(false);
ReplaceDocCommentTextWithTag\AbstractReplaceDocCommentTextWithTagCodeRefactoringProvider.cs (5)
28var token = root.FindToken(span.Start, findInsideTrivia: true); 32token = root.FindTokenFromEnd(span.Start, findInsideTrivia: true); 61var symbol = GetEnclosingSymbol(semanticModel, span.Start, cancellationToken); 173var startInclusive = span.Start; 174var endExclusive = span.Start;
ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs (2)
250var nameToken = root.FindToken(location.SourceSpan.Start); 290var nameToken = root.FindToken(location.SourceSpan.Start);
ReplacePropertyWithMethods\ReplacePropertyWithMethodsCodeRefactoringProvider.cs (1)
255var nameToken = root.FindToken(location.SourceSpan.Start, findInsideTrivia: true);
SemanticSearch\SemanticSearchDefinitionItemFactory.cs (1)
78=> new(span.Start, Math.Min(span.Length, maxLength));
Shared\Utilities\AnnotatedSymbolMapping.cs (1)
80var token = root.FindToken(location.SourceSpan.Start);
SignatureHelp\SignatureHelpService.cs (2)
96if (bestItems is not null && items.ApplicableSpan.Start < bestItems.ApplicableSpan.Start)
SimplifyTypeNames\AbstractSimplifyTypeNamesCodeFixProvider.cs (1)
43var token = root.FindToken(span.Start, findInsideTrivia: true);
Snippets\RoslynLSPSnippetConverter.cs (3)
34var textChangeStart = textChange.Span.Start; 128var startPosition = textChange.Span.Start; 129var endPosition = textChange.Span.Start + textChangeText.Length;
Snippets\SnippetFunctionService.cs (1)
42var updatedTextSpan = new TextSpan(fieldSpan.Start, fullyQualifiedTypeName.Length);
SolutionCrawler\AbstractDocumentDifferenceService.cs (4)
113var oldMember = syntaxFactsService.GetContainingMemberDeclaration(oldRoot, range.Span.Start); 114var newMember = syntaxFactsService.GetContainingMemberDeclaration(newRoot, range.Span.Start); 154var oldMember = syntaxFactsService.GetContainingMemberDeclaration(oldRoot, range.Span.Start); 155var newMember = syntaxFactsService.GetContainingMemberDeclaration(newRoot, range.Span.Start);
SpellCheck\AbstractSpellCheckCodeFixProvider.cs (1)
55var token = syntaxRoot.FindToken(span.Start);
SpellCheck\AbstractSpellCheckSpanService.cs (1)
161var spanStart = currentChar.Span.Start;
SplitOrMergeIfStatements\AbstractMergeIfStatementsCodeRefactoringProvider.cs (1)
59TextSpan.FromBounds(upperIfOrElseIfSpan.Start, lowerIfOrElseIfSpan.End));
SplitOrMergeIfStatements\AbstractSplitIfStatementCodeRefactoringProvider.cs (2)
36var token = root.FindToken(textSpan.Start); 66var token = root.FindToken(tokenSpan.Start);
src\roslyn\src\Analyzers\Core\Analyzers\FileHeaders\AbstractFileHeaderHelper.cs (2)
63fileHeaderStart = Math.Min(trivia.FullSpan.Start, fileHeaderStart); 86fileHeaderStart = trivia.FullSpan.Start;
src\roslyn\src\Analyzers\Core\Analyzers\Formatting\AbstractFormattingAnalyzer.cs (4)
72if (oldText.GetSubText(new TextSpan(change.Span.Start + offset, change.NewText.Length)).ContentEquals(SourceText.From(change.NewText))) 74change = new TextChange(new TextSpan(change.Span.Start, offset), ""); 81if (oldText.GetSubText(new TextSpan(change.Span.Start, change.NewText.Length)).ContentEquals(SourceText.From(change.NewText))) 83change = new TextChange(new TextSpan(change.Span.Start + change.NewText.Length, offset), "");
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsDiagnosticAnalyzer.cs (3)
158textSpan = TextSpan.FromBounds(node.Span.Start, nodeEnd); 166textSpan = TextSpan.FromBounds(previous.Value.textSpan.Start, nodeEnd); 172textSpan = TextSpan.FromBounds(node.Span.Start, nodeEnd);
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessaryParentheses\AbstractRemoveUnnecessaryParenthesesDiagnosticAnalyzer.cs (2)
136var expressionFirstLine = lines.GetLineFromPosition(parenthesizedExpressionLocation.SourceSpan.Start); 139return Location.Create(parenthesizedExpression.SyntaxTree, TextSpan.FromBounds(parenthesizedExpressionLocation.SourceSpan.Start, textSpanEndPosition));
src\roslyn\src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (1)
565if (pragma.Span.End <= diagnostic.Location.SourceSpan.Start)
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyInterpolation\AbstractSimplifyInterpolationHelpers.cs (2)
92.OrderBy(t => t.Start) 261: TextSpan.FromBounds(sequence[0].Span.Start, sequence[^1].Span.End);
src\roslyn\src\Analyzers\Core\Analyzers\SimplifyTypeNames\SimplifyTypeNamesDiagnosticAnalyzerBase.cs (1)
242if (intervalTree.HasIntervalThatOverlapsWith(span.Start, span.End))
src\roslyn\src\Analyzers\Core\CodeFixes\ConflictMarkerResolution\AbstractConflictMarkerCodeFixProvider.cs (4)
77var position = context.Span.Start; 403(d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start).ToImmutableArray(); 416var position = diagnostic.Location.SourceSpan.Start;
src\roslyn\src\Analyzers\Core\CodeFixes\ConvertToAsync\AbstractConvertToAsyncCodeFixProvider.cs (1)
41var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorCodeFixProvider.cs (2)
30if (!headerFacts.IsOnTypeHeader(root, diagnostic.Location.SourceSpan.Start, fullHeader: true, out var typeDecl)) 39document, new TextSpan(typeName.Value.Span.Start, 0), forRefactoring: false, cancellationToken).ConfigureAwait(false);
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateDefaultConstructors\AbstractGenerateDefaultConstructorsService.State.cs (1)
69if (headerFacts.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, fullHeader: true, out _))
src\roslyn\src\Analyzers\Core\CodeFixes\GenerateMember\AbstractGenerateMemberCodeFixProvider.cs (1)
63var token = root.FindToken(span.Start, findInsideTrivia: true);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementAbstractClass\AbstractImplementAbstractClassCodeFixProvider.cs (1)
30var token = root.FindToken(context.Span.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\ImplementInterface\AbstractImplementInterfaceCodeFixProvider.cs (1)
26var token = root.FindToken(span.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\Iterator\AbstractIteratorCodeFixProvider.cs (1)
38var ancestors = root.FindToken(span.Start).GetAncestors<SyntaxNode>();
src\roslyn\src\Analyzers\Core\CodeFixes\NewLines\MultipleBlankLines\AbstractMultipleBlankLinesCodeFixProvider.cs (1)
52var token = root.FindToken(diagnostic.AdditionalLocations[0].SourceSpan.Start);
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveAsyncModifier\AbstractRemoveAsyncModifierCodeFixProvider.cs (1)
64foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnnecessarySuppressions\RemoveUnnecessaryPragmaSuppressionsCodeFixProvider.cs (2)
38root.FindTrivia(diagnostic.Location.SourceSpan.Start).HasStructure) 83node = editor.OriginalRoot.FindTrivia(location.SourceSpan.Start).GetStructure()!;
src\roslyn\src\Analyzers\Core\CodeFixes\RemoveUnusedParametersAndValues\AbstractRemoveUnusedValuesCodeFixProvider.cs (3)
269return diagnostics.GroupBy(d => syntaxFacts.GetContainingMemberDeclaration(root, d.Location.SourceSpan.Start) ?? root); 362diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start), 372diagnostics.OrderBy(d => d.Location.SourceSpan.Start),
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyBooleanExpression\SimplifyConditionalCodeFixProvider.cs (1)
50diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start).ToImmutableArray(),
src\roslyn\src\Analyzers\Core\CodeFixes\SimplifyLinqExpression\SimplifyLinqExpressionCodeFixProvider.cs (1)
41foreach (var diagnostic in diagnostics.OrderByDescending(diagnostics => diagnostics.Location.SourceSpan.Start))
src\roslyn\src\Analyzers\Core\CodeFixes\UseIsNullCheck\AbstractUseIsNullForReferenceEqualsCodeFixProvider.cs (1)
54foreach (var diagnostic in diagnostics.OrderByDescending(d => d.Location.SourceSpan.Start))
Structure\BlockSpan.cs (2)
134var startLine = lines.GetLinePosition(this.TextSpan.Start).Line; 135var otherStartLine = lines.GetLinePosition(other.Value.TextSpan.Start).Line;
Structure\Syntax\AbstractBlockStructureProvider.cs (2)
19private static readonly IComparer<BlockSpan> s_blockSpanComparer = Comparer<BlockSpan>.Create(static (x, y) => y.TextSpan.Start.CompareTo(x.TextSpan.Start));
TaskList\AbstractTaskListService.cs (4)
131var startLine = text.Lines.GetLineFromPosition(fullSpan.Start); 138AppendTaskListItemsOnSingleLine(commentDescriptors, document, message, fullSpan.Start, items); 143var startMessage = text.ToString(TextSpan.FromBounds(fullSpan.Start, startLine.End)); 144AppendTaskListItemsOnSingleLine(commentDescriptors, document, startMessage, fullSpan.Start, items);
Wrapping\AbstractCodeActionComputer.cs (1)
180var span = TextSpan.FromBounds(edit.Left.Span.End, edit.Right.Span.Start);
Wrapping\AbstractWrappingCodeRefactoringProvider.cs (1)
41var position = span.Start;
Wrapping\BinaryExpression\BinaryExpressionCodeActionComputer.cs (1)
62OriginalSourceText.GetOffset(binaryExpression.Span.Start)
Wrapping\Edit.cs (2)
26if (left.Span.End > right.Span.Start) 73private sealed class InvalidEditException(SyntaxToken left, SyntaxToken right) : Exception($"Left token had an end '{left.Span.End}' past the start of right token '{right.Span.Start}'")
Microsoft.CodeAnalysis.Razor.Compiler (16)
CSharp\TextSpanExtensions.cs (1)
15return new SourceSpan(filePath: null, absoluteIndex: textSpan.Start, lineIndex: -1, characterIndex: -1, length: textSpan.Length);
Language\Legacy\RoslynCSharpTokenizer.cs (4)
731Debug.Assert(_resultCache.All(r => r.position <= nextResult.Token.FullSpan.Start)); 733if (_resultCache.Count > 0 && _resultCache[^1].position == nextResult.Token.FullSpan.Start) 739_resultCache[^1] = (nextResult.Token.FullSpan.Start, nextResult, _isOnlyWhitespaceOnLine); 743_resultCache.Add((nextResult.Token.FullSpan.Start, nextResult, _isOnlyWhitespaceOnLine));
Language\Legacy\SeekableTextReader.cs (3)
68_location = new SourceLocation(_filePath, _position, _cachedLineInfo.LineIndex, _position - _cachedLineInfo.Span.Start); 85_location = new SourceLocation(_filePath, _position, nextLineIndex, _position - nextLineSpan.Start); 100_location = new SourceLocation(_filePath, _position, prevLineIndex, _position - prevLineSpan.Start);
Language\SpanComputer.cs (2)
103var start = _firstToken.Span.Start; 127var start = _firstToken.Span.Start;
Language\Syntax\SyntaxList`1.cs (1)
112? TextSpan.FromBounds(this[0].Span.Start, this[Count - 1].Span.End)
Language\Syntax\SyntaxNodeOrToken.cs (1)
184/// Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>.
Language\Syntax\SyntaxReplacer.cs (2)
106start = span.Start; 112start = Math.Min(start, span.Start);
Language\Syntax\SyntaxSerializer.cs (2)
108WriteValue($"[{span.Start}..{span.End}){Separator}Width: {span.End - span.Start}");
Microsoft.CodeAnalysis.ResxSourceGenerator (190)
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
Microsoft.CodeAnalysis.Scripting (2)
Hosting\CommandLine\CommandLineRunner.cs (2)
384return (delta != 0) ? delta : d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start;
Microsoft.CodeAnalysis.VisualBasic (64)
Analysis\FlowAnalysis\AbstractFlowPass.Regions.vb (1)
56Return Me._region.Contains(span.Start)
Analysis\FlowAnalysis\DataFlowPass.vb (1)
1194If isImplicitlyDeclared OrElse firstLocation Is Nothing OrElse firstLocation.SourceSpan.Start < node.SpanStart Then
Binding\Binder_Query.vb (1)
2272operatorNameSpan = TextSpan.FromBounds(operatorNameSpan.Start, right.Span.End)
CommandLine\CommandLineDiagnosticFormatter.vb (1)
61Dim sourceSpanStart = sourceSpan.Start
Compilation\VisualBasicCompilation.vb (3)
1720If Not Me.IsImportDirectiveUsed(infoTree, clauseSpans(0).Start) Then 1731If Not Me.IsImportDirectiveUsed(infoTree, clauseSpan.Start) Then 1766_lazyImportClauseDependencies.TryGetValue((infoTree, clauseSpan.Start), dependencies) Then
Compilation\VisualBasicDiagnosticFilter.vb (1)
205location.SourceTree.GetWarningState(id, location.SourceSpan.Start) = ReportDiagnostic.Suppress Then
GlobalImport.vb (2)
118Dim startindex = unmappedSpan.Start - _clause.Span.Start
Lowering\Instrumentation\CodeCoverageInstrumenter.vb (3)
550Return New Text.TextSpan(startSpan.Start, originalSpan.Length - (startSpan.Start - originalSpan.Start))
Scanner\Blender.vb (10)
94Dim start = NearestStatementThatContainsPosition(root, span.Start, fullSpan) 95Debug.Assert(start.Start <= span.Start) 101Return TextSpan.FromBounds(start.Start, [end].End) 156Dim start = Math.Min(span.Start, Math.Max(0, fullWidth - 1)) 209Dim start = _change.Span.Start 226If position < _change.Span.Start Then 230If position >= _change.Span.Start + _change.NewLength Then 389Dim range = New TextSpan(_affectedRange.Span.Start, _affectedRange.NewLength) 440If _curNodeSpan.Contains(_affectedRange.Span.Start) Then
Scanner\Directives.vb (1)
544startSkipped = skippedSpan.Start
Scanner\Scanner.vb (2)
348If span.Start >= 0 AndAlso span.End <= _bufferLen Then 349Return SyntaxFactory.DisabledTextTrivia(GetTextNotInterned(span.Start, span.Length))
Symbols\LexicalSortKey.vb (9)
101Me.New(syntaxRef.SyntaxTree, syntaxRef.Span.Start, compilation) 114Debug.Assert(location.PossiblyEmbeddedOrMySourceSpan.Start >= 0) 129Me._position = location.PossiblyEmbeddedOrMySourceSpan.Start 188Return first.PossiblyEmbeddedOrMySourceSpan.Start - second.PossiblyEmbeddedOrMySourceSpan.Start 201Return first.Span.Start - second.Span.Start 214Return first.Span.Start - second.Span.Start
Symbols\Source\SourceMemberContainerTypeSymbol.vb (11)
1363Return containingSourceNamespace.GetDeclarationSpelling(firstLocation.SourceTree, firstLocation.SourceSpan.Start) 2266((fileCompResult = 0) AndAlso typeToTestLocation.SourceSpan.Start >= structBeingAnalyzedLocation.SourceSpan.Start) 3265If Me._declaration.Declarations.Length >= 1 AndAlso position = Me._declaration.Declarations(0).Location.SourceSpan.Start Then 3296Dim distanceFromInitializerStart = position - siblingInitializers(index).Syntax.Span.Start 3897If GetImplementsLocation(interface1).SourceSpan.Start > GetImplementsLocation(interface2).SourceSpan.Start Then 3947If GetImplementsLocation(interface1).SourceSpan.Start > GetImplementsLocation(interface2).SourceSpan.Start Then 3979If GetImplementsLocation(interface1).SourceSpan.Start > GetImplementsLocation(interface2).SourceSpan.Start Then
Symbols\Source\SourceMethodSymbol.vb (1)
1218Return localPosition - span.Start
Symbols\Source\SourcePropertySymbol.vb (2)
168Dim accessor = If(getMethod.GetFirstLocation().SourceSpan.Start < setMethod.GetFirstLocation().SourceSpan.Start, setMethod, getMethod)
Symbols\Symbol.vb (1)
386Dim token = CType(location.SourceTree.GetRoot().FindToken(location.SourceSpan.Start), SyntaxToken)
Syntax\SyntaxFacts.vb (1)
1116If p.GetLocation.SourceSpan.Start < token.SpanStart Then
Syntax\SyntaxNodeRemover.vb (8)
49Dim start As Integer = span0.Start 55start = Math.Min(start, span.Start) 239Dim fullSpan = TextSpan.FromBounds(token.FullSpan.Start, node.FullSpan.End) 240Dim span = TextSpan.FromBounds(token.Span.Start, node.Span.End) 263Dim fullSpan = TextSpan.FromBounds(node.FullSpan.Start, token.FullSpan.End) 264Dim span = TextSpan.FromBounds(node.Span.Start, token.Span.End) 285removedSpan = TextSpan.FromBounds(span.Start, removedSpan.End) 288removedSpan = TextSpan.FromBounds(removedSpan.Start, span.End)
Syntax\SyntaxReplacer.vb (2)
120start = span.Start 123start = Math.Min(start, span.Start)
Syntax\VisualBasicLineDirectiveMap.vb (1)
210Dim unmappedStartPos = sourceText.Lines.GetLinePosition(span.Start)
Syntax\VisualBasicSyntaxNode.vb (1)
142''' Same as accessing <see cref="TextSpan.Start"/> on <see cref="Span"/>.
Syntax\VisualBasicSyntaxTree.vb (1)
438Return New FileLinePositionSpan(Me.FilePath, GetLinePosition(span.Start), GetLinePosition(span.End))
Microsoft.CodeAnalysis.VisualBasic.CodeStyle (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (2)
141If interpolation.OpenBraceToken.Span.End = node.OpenParenToken.Span.Start AndAlso 142node.OpenParenToken.Span.End = expression.Span.Start Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
416If Not textSpan.Contains(matchSpan.Start) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTreeExtensions.vb (2)
128If (child.FullSpan.Start < position) AndAlso (position <= child.FullSpan.End) Then 283If trivia.Span.Start > position Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Engine\Trivia\TriviaDataFactory.TriviaRewriter.vb (1)
86Return TextSpan.FromBounds(_node.FullSpan.Start, pair.Item2.SpanStart)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\BaseFormattingRule.vb (1)
64Return TextSpan.FromBounds(spanStart, trivia.FullSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (2)
849firstStatement.FullSpan.Start, 850method.EndBlockStatement.FullSpan.Start)
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (13)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateDefaultConstructors\VisualBasicGenerateDefaultConstructorsService.vb (2)
33If headerFacts.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, typeDecl) Then 38Dim token = semanticDocument.Root.FindToken(textSpan.Start)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\GenerateParameterizedMemberCodeFixProvider.vb (2)
62If node.Span.Start = diagnosticSpan.Start AndAlso node.Span.End < diagnosticSpan.End Then
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\Iterator\VisualBasicConvertToIteratorCodeFixProvider.vb (1)
62Dim symbol = model.GetEnclosingSymbol(node.Span.Start, cancellationToken)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (3)
383Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 393Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 402Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTreeExtensions.vb (1)
550position = possibleTuple.FullSpan.Start
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
73TextSpan.FromBounds(startToken.FullSpan.Start, node.FullSpan.End), indentationDelta:=1, [option]:=IndentBlockOption.RelativePosition))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.Indenter.vb (3)
63Dim line = indenter.Text.Lines.GetLineFromPosition(trivia.FullSpan.Start) 64If line.GetFirstNonWhitespacePosition() = trivia.FullSpan.Start Then 65Return New IndentationResult(trivia.FullSpan.Start, 0)
Microsoft.CodeAnalysis.VisualBasic.Features (51)
CodeFixes\GenerateEndConstruct\GenerateEndConstructCodeFixProvider.vb (1)
67Dim token = root.FindToken(context.Span.Start)
CodeFixes\GenerateEvent\GenerateEventCodeFixProvider.vb (1)
47Dim token = root.FindToken(context.Span.Start)
CodeFixes\IncorrectExitContinue\IncorrectExitContinueCodeFixProvider.vb (1)
64Dim token = root.FindToken(span.Start)
CodeFixes\IncorrectFunctionReturnType\IncorrectFunctionReturnTypeCodeFixProvider.vb (1)
48Dim token = root.FindToken(span.Start)
CodeFixes\MoveToTopOfFile\MoveToTopOfFileCodeFixProvider.vb (1)
50Dim token = root.FindToken(span.Start)
Completion\KeywordRecommenders\PreprocessorDirectives\PreprocessorHelpers.vb (1)
45If child.FullSpan.Start > _maxPosition Then
Debugging\VisualBasicBreakpointService.vb (1)
77Return GetBreakpointAsync(document, textSpan.Start, textSpan.Length, cancellationToken)
Diagnostics\Analyzers\TypeSyntaxSimplifierWalker.vb (4)
120If _ignoredSpans IsNot Nothing AndAlso _ignoredSpans.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) Then 132If _ignoredSpans IsNot Nothing AndAlso _ignoredSpans.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) Then 144If _ignoredSpans IsNot Nothing AndAlso _ignoredSpans.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) Then 176If _ignoredSpans IsNot Nothing AndAlso _ignoredSpans.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) Then
EditAndContinue\BreakpointSpans.vb (4)
70If candidate.HasValue AndAlso breakpointSpan.Value.Start <> candidate.Value.Start Then 250Return TextSpan.FromBounds(node.Identifier.Span.Start, node.Initializer.Span.End) 254Return TextSpan.FromBounds(node.Identifier.Span.Start, node.AsClause.Span.End)
EditAndContinue\DeclarationBody\FieldOrPropertyDeclarationBody.vb (1)
89If span.Start = InitializerActiveStatement.SpanStart Then
EditAndContinue\DeclarationBody\FieldWithMultipleAsNewClauseDeclarationBody.vb (2)
42Return TextSpan.FromBounds(_modifedIdentifier.Span.Start, NewExpression.Span.End) 48Return TextSpan.FromBounds(_modifedIdentifier.Span.End, NewExpression.Span.Start).Contains(span)
EditAndContinue\DeclarationBody\PropertyWithInitializerDeclarationBody.vb (1)
36Return TextSpan.FromBounds(PropertyStatement.Identifier.Span.Start, PropertyStatement.Initializer.Span.End)
EditAndContinue\DeclarationBody\PropertyWithNewClauseDeclarationBody.vb (1)
42Return TextSpan.FromBounds(PropertyStatement.Identifier.Span.Start, PropertyStatement.AsClause.Span.End)
EditAndContinue\VisualBasicEditAndContinueAnalyzer.vb (3)
107Dim position = span.Start 1245Return TextSpan.FromBounds(newWith.NewKeyword.Span.Start, 1307Return TextSpan.FromBounds(ifKeyword.Span.Start,
ExtractMethod\VisualBasicSelectionValidator.vb (2)
24Dim firstTokenInSelection = root.FindTokenOnRightOfPosition(adjustedSpan.Start, includeSkipped:=False) 351Return textSpan.FromBounds(textSpan.Start, previousLine.End)
GoToDefinition\VisualBasicGoToDefinitionSymbolService.vb (1)
38Return continueTarget.GetFirstToken().Span.Start
InlineHints\VisualBasicInlineParameterNameHintsService.vb (1)
55buffer.Add((argument.Span.Start, argument, parameter, GetKind(argument.Expression)))
SignatureHelp\AbstractIntrinsicOperatorSignatureHelpProvider.vb (1)
108currentSpan.Start = node.SpanStart Then
SignatureHelp\AttributeSignatureHelpProvider.vb (2)
95currentSpan.Start = SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start Then
SignatureHelp\CollectionInitializerSignatureHelpProvider.vb (2)
76currentSpan.Start = GetSignatureHelpSpan(expression).Start Then
SignatureHelp\FunctionAggregationSignatureHelpProvider.vb (1)
34functionAggregation.SpanStart = currentSpan.Start Then
SignatureHelp\GenericNameSignatureHelpProvider.vb (2)
33currentSpan.Start = SignatureHelpUtilities.GetSignatureHelpSpan(expression.TypeArgumentList).Start Then
SignatureHelp\InvocationExpressionSignatureHelpProvider.vb (2)
34currentSpan.Start = GetSignatureHelpSpan(expression.ArgumentList).Start Then
SignatureHelp\ObjectCreationExpressionSignatureHelpProvider.vb (2)
33currentSpan.Start = SignatureHelpUtilities.GetSignatureHelpSpan(expression.ArgumentList).Start Then
SignatureHelp\RaiseEventStatementSignatureHelpProvider.vb (1)
32currentSpan.Start = statement.Name.SpanStart Then
Snippets\VisualBasicSnippetFunctionService.vb (2)
31Dim token = syntaxTree.FindTokenOnRightOfPosition(switchExpressionSpan.Start, cancellationToken) 47Dim typeSpan = New TextSpan(caseGenerationLocation.Start + "Case ".Length, fullyQualifiedTypeName.Length)
SolutionCrawler\VisualBasicDocumentDifferenceService.vb (1)
57Return outerSpan.Contains(innerSpan.Start)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateDefaultConstructors\VisualBasicGenerateDefaultConstructorsService.vb (2)
33If headerFacts.IsOnTypeHeader(semanticDocument.Root, textSpan.Start, typeDecl) Then 38Dim token = semanticDocument.Root.FindToken(textSpan.Start)
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\GenerateParameterizedMember\GenerateParameterizedMemberCodeFixProvider.vb (2)
62If node.Span.Start = diagnosticSpan.Start AndAlso node.Span.End < diagnosticSpan.End Then
src\roslyn\src\Analyzers\VisualBasic\CodeFixes\Iterator\VisualBasicConvertToIteratorCodeFixProvider.vb (1)
62Dim symbol = model.GetEnclosingSymbol(node.Span.Start, cancellationToken)
Structure\Providers\DisabledTextTriviaStructureProvider.vb (1)
21Dim startPos = nodeSpan.Start
Structure\Providers\XmlExpressionStructureProvider.vb (2)
26Dim line = syntaxTree.GetText(cancellationToken).Lines.GetLineFromPosition(span.Start) 27Dim lineText = line.ToString().Substring(span.Start - line.Start)
Microsoft.CodeAnalysis.VisualBasic.Workspaces (34)
Classification\ClassificationHelpers.vb (1)
323Dim tokens = SyntaxFactory.ParseTokens(text2, initialTokenPosition:=textSpan.Start)
Classification\Worker.DocumentationCommentClassifier.vb (3)
25If childFullSpan.Start > _worker._textSpan.End Then 27ElseIf childFullSpan.End < _worker._textSpan.Start Then 92spanStart = trivia.Span.Start + index
CodeCleanup\Providers\AbstractTokensCodeCleanupProvider.vb (1)
57_spans.GetIntervalsThatOverlapWith(node.FullSpan.Start, node.FullSpan.Length).Any()
CodeCleanup\Providers\AddMissingTokensCodeCleanupProvider.vb (2)
336_spans.HasIntervalThatContains(span.Start, span.Length) AndAlso 453If Not _spans.HasIntervalThatContains(span.Start, span.Length) Then
CodeCleanup\Providers\NormalizeModifiersOrOperatorsCodeCleanupProvider.vb (5)
93Not _spans.HasIntervalThatOverlapsWith(node.FullSpan.Start, node.FullSpan.Length) Then 203If Not _spans.HasIntervalThatContains(span.Start, span.Length) Then 243If Not _spans.HasIntervalThatContains(span.Start, span.Length) Then 272If Not _spans.HasIntervalThatContains(span.Start, span.Length) Then 455If Not _spans.HasIntervalThatContains(span.Start, span.Length) Then
Rename\VisualBasicRenameRewriterLanguageService.vb (4)
97newSpan = New TextSpan(oldSpan.Start, newSpan.Length) 237Me._renameSpansTracker.AddComplexifiedSpan(Me._documentId, oldSpan, New TextSpan(oldSpan.Start, newSpan.Length), Me._modifiedSubSpans) 295AddModifiedSpan(annotation.OriginalSpan, New TextSpan(token.Span.Start, newToken.Span.Length)) 304Dim symbols = RenameUtilities.GetSymbolsTouchingPosition(token.Span.Start, _semanticModel, _solution.Services, _cancellationToken)
Simplification\Simplifiers\AbstractVisualBasicSimplifier.vb (1)
171boundSymbols = semanticModel.LookupNamespacesAndTypes(node.Span.Start, name:=aliasName + "Attribute")
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (2)
141If interpolation.OpenBraceToken.Span.End = node.OpenParenToken.Span.Start AndAlso 142node.OpenParenToken.Span.End = expression.Span.Start Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
416If Not textSpan.Contains(matchSpan.Start) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxTreeExtensions.vb (2)
128If (child.FullSpan.Start < position) AndAlso (position <= child.FullSpan.End) Then 283If trivia.Span.Start > position Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Engine\Trivia\TriviaDataFactory.TriviaRewriter.vb (1)
86Return TextSpan.FromBounds(_node.FullSpan.Start, pair.Item2.SpanStart)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Formatting\Rules\BaseFormattingRule.vb (1)
64Return TextSpan.FromBounds(spanStart, trivia.FullSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (2)
849firstStatement.FullSpan.Start, 850method.EndBlockStatement.FullSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (3)
383Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 393Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 402Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Extensions\ContextQuery\SyntaxTreeExtensions.vb (1)
550position = possibleTuple.FullSpan.Start
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
73TextSpan.FromBounds(startToken.FullSpan.Start, node.FullSpan.End), indentationDelta:=1, [option]:=IndentBlockOption.RelativePosition))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\VisualBasicIndentationService.Indenter.vb (3)
63Dim line = indenter.Text.Lines.GetLineFromPosition(trivia.FullSpan.Start) 64If line.GetFirstNonWhitespacePosition() = trivia.FullSpan.Start Then 65Return New IndentationResult(trivia.FullSpan.Start, 0)
Microsoft.CodeAnalysis.Workspaces (311)
Classification\Classifier.cs (4)
108allClassifications.Sort((s1, s2) => s1.TextSpan.Start - s2.TextSpan.Start); 120return ConvertClassificationsToParts(sourceText, textSpan.Start, classifiedSpans); 131if (startPosition < span.TextSpan.Start)
Classification\ClassifierHelper.cs (14)
97var widenedSpan = new TextSpan(spans[0].Start, spans[^1].End); 145FillInClassifiedSpanGaps(widenedSpan.Start, mergedSpans, classifiedSpans); 148private static readonly Comparison<ClassifiedSpan> s_spanComparison = static (s1, s2) => s1.TextSpan.Start - s2.TextSpan.Start; 177if (!isAdditiveClassification && previousSpan.TextSpan.End > intersection.Value.Start) 203if (startPosition < span.TextSpan.Start) 207startPosition, span.TextSpan.Start))); 271syntacticPartSpan.Start, syntacticPartSpan.Length, ref tempBuffer.AsRef(), 295if (syntacticPartSpan.Start < firstSemanticPartSpan.Start) 298syntacticPartSpan.Start, 299firstSemanticPartSpan.Start))); 313if (semanticPart1Span.End < semanticPart2Span.Start) 317semanticPart2Span.Start)));
Classification\IRemoteSemanticClassificationService.cs (1)
90classificationTriples.Add(textSpan.Start);
Classification\SyntaxClassification\SyntacticChangeRangeComputer.cs (6)
135Contract.ThrowIfFalse(currentOld.FullSpan.Start == currentNew.FullSpan.Start); 144return currentOld.FullSpan.Start; 149return currentOld.FullSpan.Start; 202currentOld.FullSpan.Start >= commonLeftWidth && 203currentNew.FullSpan.Start >= commonLeftWidth)
CodeCleanup\AbstractCodeCleanerService.cs (2)
366startToken = root.FindToken(span.Start, findInsideTrivia: true); 385startToken = FindTokenOnLeftOfPosition(root, span.Start);
CodeFixes\FixAllOccurrences\BatchFixAllProvider.cs (1)
119.ThenBy(d => d.Location.SourceSpan.Start)
CodeFixes\FixAllOccurrences\TextChangeMerger.cs (4)
73var changesToApply = _totalChangesIntervalTree.Distinct().OrderBy(tc => tc.Span.Start); 106change.Span.Start, change.Span.Length, ref overlappingSpans); 109change.Span.Start, change.Span.Length, ref intersectingSpans); 191otherChange.Span.End == change.Span.Start;
Differencing\Edit.cs (1)
114=> (_comparer != null) ? "@" + _comparer.GetSpan(node).Start : "";
Editing\SymbolEditor.cs (1)
329return EditOneDeclarationAsync(symbol, doc.Id, location.SourceSpan.Start, editAction, cancellationToken);
FindSymbols\FindReferences\Finders\CrefTypeParameterSymbolReferenceFinder.cs (1)
59var token = root.FindToken(reference.Span.Start, findInsideTrivia: true);
FindSymbols\FindReferences\FindReferenceCache.cs (1)
203if (span.Start == index && span.Length == text.Length && isMatch(text, token, args))
FindSymbols\ReferenceLocationExtensions.cs (1)
78var enclosingSymbol = semanticModel.GetEnclosingSymbol(reference.Location.SourceSpan.Start);
FindSymbols\SyntaxTree\SyntaxTreeIndex_Persistence.cs (1)
50writer.WriteInt32(span.Start);
FindSymbols\TopLevelSyntaxTree\DeclaredSymbolInfo.cs (1)
192writer.WriteInt32(Span.Start);
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex.NavigateToSearchInfo.cs (9)
239AddToSet(humpStrings, [char.ToUpperInvariant(name[part.Start])]); 247var ci = char.ToUpperInvariant(name[charParts[i].Start]); 250var cj = char.ToUpperInvariant(name[charParts[j].Start]); 265AddToSet(humpPrefixStrings, loweredName.Slice(part.Start, prefixLen)); 321containerChars.Add(char.ToUpperInvariant(fullyQualifiedContainerName[part.Start])); 442if (!_containerCharSet.Contains(char.ToUpperInvariant(patternContainer[part.Start]))) 591return ContainsChar(humpSet, char.ToUpperInvariant(pattern[charParts[0].Start])); 597var c1 = char.ToUpperInvariant(pattern[charParts[i].Start]); 598var c2 = char.ToUpperInvariant(pattern[charParts[i + 1].Start]);
LinkedFileDiffMerging\AbstractLinkedFileMergeConflictCommentAdditionService.cs (3)
43var changeStartLine = originalSourceText.Lines.GetLineFromPosition(change.Span.Start); 68var startPosition = changePartition.First().Span.Start; 75var adjustedChanges = changePartition.Select(c => new TextChange(TextSpan.FromBounds(c.Span.Start - startLineStartPosition, c.Span.End - startLineStartPosition), c.NewText!));
LinkedFileDiffMerging\LinkedFileDiffMergingSession.cs (12)
152while (cumulativeChangeIndex < cumulativeChanges.Length && cumulativeChanges[cumulativeChangeIndex].Span.End < change.Span.Start) 224while (commentChangeIndex < commentChangesList.Length && commentChangesList[commentChangeIndex].Span.End <= mergedChange.Span.Start) 228mergeConflictResolutionSpans.Add(new TextSpan(commentChangesList[commentChangeIndex].Span.Start + currentPositionDelta, commentChangesList[commentChangeIndex].NewText!.Length)); 233if (commentChangeIndex >= commentChangesList.Length || mergedChange.Span.End <= commentChangesList[commentChangeIndex].Span.Start) 242var conflictingCommentInsertionLocation = new TextSpan(mergedChange.Span.Start, 0); 243while (commentChangeIndex < commentChangesList.Length && commentChangesList[commentChangeIndex].Span.Start < mergedChange.Span.End) 246mergeConflictResolutionSpans.Add(new TextSpan(commentChangesList[commentChangeIndex].Span.Start + currentPositionDelta, commentChangesList[commentChangeIndex].NewText!.Length)); 261mergeConflictResolutionSpans.Add(new TextSpan(commentChangesList[commentChangeIndex].Span.Start + currentPositionDelta, commentChangesList[commentChangeIndex].NewText!.Length)); 275var orderedChanges = changes.Sort(static (c1, c2) => c1.Span.Start - c2.Span.Start); 281if (nextChange.Span.Start == currentChange.Span.End) 283currentChange = new TextChange(TextSpan.FromBounds(currentChange.Span.Start, nextChange.Span.End), currentChange.NewText + nextChange.NewText);
PatternMatching\AllLowerCamelCaseMatcher.cs (3)
97if (ToLower(candidate[candidateHump.Start], _textInfo) == patternCharacter) 163candidate, candidateHump.Start, 192var matchSpanToAdd = new TextSpan(candidateHump.Start, possibleHumpMatchLength);
PatternMatching\PatternMatcher.cs (8)
270var hump = TextSpan.FromBounds(candidateHumps[i].Start, candidateLength); 275matchedSpan: GetMatchedSpan(hump.Start, patternChunk.Text.Length)); 440candidate, candidatePart.Start, patternPart.Length, 441pattern, patternPart.Start, patternPart.Length, compareOptions) == 0; 578if (!char.IsUpper(patternChunk.Text[patternHumps[currentPatternHump - 1].Start]) || 579!char.IsUpper(patternChunk.Text[patternHumps[currentPatternHump].Start])) 590matchSpans.Add(new TextSpan(candidateHump.Start, patternChunkCharacterSpan.Length)); 600candidateHump = new TextSpan(candidateHump.Start + patternChunkCharacterSpan.Length, candidateHump.Length - patternChunkCharacterSpan.Length);
ReassignedVariable\AbstractReassignedVariableService.cs (1)
313if (current.SpanStart <= localOrParameterDeclarationSpan.Start)
Rename\ConflictEngine\ConflictResolver.cs (1)
413.ThenBy(l => l.IsInSource ? l.SourceSpan.Start : int.MaxValue);
Rename\ConflictEngine\ConflictResolver.Session.cs (12)
222renamedSpansTracker.GetAdjustedPosition(_renameSymbolDeclarationLocation.SourceSpan.Start, _documentIdOfRenameSymbolDeclaration), 423var baseToken = baseRoot.FindToken(conflictAnnotation.OriginalSpan.Start, true); 524var adjustedStartPosition = conflictResolution.GetAdjustedTokenStartingPosition(originalReference.TextSpan.Start, originalReference.DocumentId); 525if (newLocations.Any(loc => loc.SourceSpan.Start == adjustedStartPosition)) 573var newAdjustedStartPosition = conflictResolution.GetAdjustedTokenStartingPosition(renameDeclarationLocationReference.TextSpan.Start, renameDeclarationLocationReference.DocumentId); 574if (newAdjustedStartPosition != newLocation.SourceSpan.Start) 582var overridingSymbol = await SymbolFinder.FindSymbolAtPositionAsync(solution.GetRequiredDocument(newLocation.SourceTree), newLocation.SourceSpan.Start, cancellationToken: _cancellationToken).ConfigureAwait(false); 633var newReferencedSymbols = RenameUtilities.GetSymbolsTouchingPosition(tokenOrNode.Span.Start, newDocumentSemanticModel, newDocument.Project.Solution.Services, _cancellationToken); 662? conflictResolution.GetAdjustedTokenStartingPosition(_renameSymbolDeclarationLocation.SourceSpan.Start, _documentIdOfRenameSymbolDeclaration) 663: _renameSymbolDeclarationLocation.SourceSpan.Start; 886var offset = renameLocation.Location.SourceSpan.Start - containingLocationForStringOrComment.Start;
Rename\ConflictEngine\RenamedSpansTracker.cs (7)
57? modifiedSpans.Where(pair => pair.oldSpan.Start < startingPosition) 67? complexifiedSpans.Where(c => c.OriginalSpan.Start <= startingPosition) 80foreach (var (oldSpan, newSpan) in c.ModifiedSubSpans.OrderByDescending(t => t.oldSpan.Start)) 84if (startingPosition == oldSpan.Start) 86return startingPosition + newSpan.Start - oldSpan.Start; 88else if (startingPosition > oldSpan.Start)
Rename\RenameUtilities.cs (3)
302Debug.Assert(subSpan.Start <= replaceInsideString.Length); 306if (replaceInsideString.Substring(subSpan.Start, subSpan.Length) != matchText) 310var offset = subSpan.Start - startOffset;
Rename\SymbolicRenameLocations.ReferenceProcessing.cs (2)
388.Select(t => Tuple.Create(t.ToString(), t.Span.Start, t.Span)); 406.Select(t => Tuple.Create(t.ToString(), t.Span.Start, t.Token.Span));
Shared\Extensions\SourceTextExtensions.cs (1)
58text.GetLineAndOffset(textSpan.Start, out startLineNumber, out startOffset);
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
43.Sort((d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (3)
56var partialDeclSpan = syntaxFacts.GetContainingTypeDeclaration(root, syntaxRef.Span.Start)?.FullSpan; 82? syntaxFacts.GetContainingMemberDeclaration(root, span.Start) 83: syntaxFacts.GetContainingTypeDeclaration(root, span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (3)
505positionOfRemovedNode = attributeList.FullSpan.Start; 525positionOfRemovedNode = attributeToRemove.FullSpan.Start; 527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
208var afterMember = declarationList.LastOrDefault(m => m.SpanStart <= info.Context.AfterThisLocation.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (5)
72if (node.FullSpan.Contains(selection.Start)) 74var selectionStartToken = node.FindToken(selection.Start); 81var beginningNode = node.FindToken(node.Span.Start).Parent; 93return beginningNode.Span.End <= selection.Start || endNode.Span.Start >= selection.End;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (1)
70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
147var token = root.FindToken(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
398if (p.Length > 0 && char.IsLetter(name[p.Start])) 399return name.Substring(p.Start, p.Length).ToCamelCase();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceService.State.cs (1)
107let token = syntaxRoot.FindToken(r.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
147=> !spansTree.HasIntervalThatOverlapsWith(nodeOrToken.FullSpan.Start, nodeOrToken.FullSpan.Length);
Microsoft.DotNet.ProjectTools (1)
src\sdk\src\Cli\Microsoft.DotNet.FileBasedPrograms\FileLevelDirectiveHelpers.cs (1)
177return previousWhiteSpaceSpan.IsEmpty ? trivia.FullSpan : TextSpan.FromBounds(previousWhiteSpaceSpan.Start, trivia.FullSpan.End);
Microsoft.Gen.BuildMetadata.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.ComplianceReports.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.ContextualOptions.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.Logging.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.MetadataExtractor.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.Metrics.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Gen.MetricsReports.Unit.Tests (4)
test\Generators\Shared\RoslynTestUtils.cs (4)
418if (x.Location.SourceSpan.Start < y.Location.SourceSpan.Start) 422else if (x.Location.SourceSpan.Start > y.Location.SourceSpan.Start)
Microsoft.Interop.LibraryImportGenerator (1)
Analyzers\CustomMarshallerAttributeFixer.cs (1)
39var entryPointTypeSymbol = (INamedTypeSymbol)model.GetEnclosingSymbol(diagnostic.Location.SourceSpan.Start, fixAllContext.CancellationToken);
Microsoft.Maui.Controls.BindingSourceGen (1)
BindingSourceGenerator.cs (1)
161 NullableContext nullableContext = context.SemanticModel.GetNullableContext(context.Node.Span.Start);
Microsoft.ML.InternalCodeAnalyzer (2)
ContractsCheckNameofFixProvider.cs (1)
44var nameArg = root.FindToken(diagnosticSpan.Start).Parent.FirstAncestorOrSelf<ArgumentSyntax>();
NameFixProvider.cs (1)
60var token = root.FindToken(diagnostic.Location.SourceSpan.Start);
Roslyn.Diagnostics.Analyzers (211)
DefaultableTypeShouldHaveDefaultableFieldsAnalyzer.cs (1)
100if (!semanticModel.GetNullableContext(field.Locations[0].SourceSpan.Start).WarningsEnabled())
src\roslyn\src\Compilers\Core\Portable\Syntax\SyntaxTreeExtensions.cs (1)
72index += span.Start;
src\roslyn\src\Compilers\Core\Portable\Text\TextChangeRangeExtensions.cs (19)
38var currentStart = accumulatedTextChangeSoFar.Value.Span.Start; 40var currentNewEnd = accumulatedTextChangeSoFar.Value.Span.Start + accumulatedTextChangeSoFar.Value.NewLength; 69if (newChange.Span.Start < currentStart) 71currentStart = newChange.Span.Start; 97currentNewEnd = newChange.Span.Start + newChange.NewLength; 162else if (newChange.SpanEnd <= oldChange.Span.Start + oldDelta) 180else if (newChange.SpanStart < oldChange.Span.Start + oldDelta) 199var newChangeLeadingDeletion = oldChange.Span.Start + oldDelta - newChange.SpanStart; 201newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newChange.SpanLength - newChangeLeadingDeletion, newChange.NewLength); 204else if (newChange.SpanStart > oldChange.Span.Start + oldDelta) 222var oldChangeLeadingInsertion = newChange.SpanStart - (oldChange.Span.Start + oldDelta); 225addAndAdjustOldDelta(builder, ref oldDelta, new TextChangeRange(new TextSpan(oldChange.Span.Start, oldChangeLeadingDeletion), oldChangeLeadingInsertion)); 232Debug.Assert(newChange.SpanStart == oldChange.Span.Start + oldDelta); 311newChange = new UnadjustedNewChange(oldChange.Span.Start + oldDelta, newDeletion, newChange.NewLength); 388if (last.Span.End == change.Span.Start) 391builder[^1] = new TextChangeRange(new TextSpan(last.Span.Start, last.Span.Length + change.Span.Length), last.NewLength + change.NewLength); 394else if (last.Span.End > change.Span.Start) 430: this(range.Span.Start, range.Span.Length, range.NewLength) 435private static int NewEnd(this TextChangeRange range) => range.Span.Start + range.NewLength;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\ImmutableIntervalTree`1.cs (4)
59values.Sort((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start); 79Debug.Assert(values.IsSorted(Comparer<T>.Create((t1, t2) => localIntrospector.GetSpan(t1).Start - localIntrospector.GetSpan(t2).Start)));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeAlgorithms`2.cs (3)
106var thisStart = thisSpan.Start; 126var thisStart = thisSpan.Start; 139var thisStart = thisSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\IntervalTreeHelpers.cs (1)
124if (introspector.GetSpan(witness.GetValue(tree, currentNode)).Start <= end)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\MutableIntervalTree`1.cs (2)
60var newNodeStart = introspector.GetSpan(newNode.Value).Start; 74if (newNodeStart < introspector.GetSpan(root.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\NormalizedTextSpanCollection.cs (17)
96if (span1.Start < span2.Start) 286if ((span2.Length == 0) || (span1.Start >= span2.End)) 290else if (span1.End <= span2.Start) 296spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 302if (span1.Start < span2.Start) 306Debug.Assert(lastEnd < span2.Start); 307spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span2.Start)); 334spans.Add(TextSpan.FromBounds(Math.Max(lastEnd, span1.Start), span1.End)); 566if (end < span.Start) 576start = span.Start; 599sorted.Sort(delegate (TextSpan s1, TextSpan s2) { return s1.Start.CompareTo(s2.Start); }); 603var oldStart = sorted[0].Start; 607var newStart = sorted[i].Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Collections\TextSpanMutableIntervalTree.cs (2)
28=> this.HasIntervalThatIntersectsWith(span.Start, span.Length); 31=> this.HasIntervalThatOverlapsWith(span.Start, span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EditorConfig\Parsing\EditorConfigFile.cs (2)
47.ThenByDescending(x => x.section.Span.Start) 85.ThenByDescending(x => x.section.Span.Start) // in event of a further tie, pick entry at the bottom of the file
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxHelpers.cs (1)
19=> TextSpan.FromBounds(firstChar.Span.Start, lastChar.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxNode.cs (2)
85return span.Value.Start; 118start = Math.Min(token.VirtualChars[0].Span.Start, start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\Common\EmbeddedSyntaxToken.cs (3)
85Math.Min(LeadingTrivia.Length == 0 ? int.MaxValue : LeadingTrivia[0].GetSpan().Start, 86Math.Min(VirtualChars.Length == 0 ? int.MaxValue : VirtualChars[0].Span.Start, 87TrailingTrivia.Length == 0 ? int.MaxValue : TrailingTrivia[0].GetSpan().Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\AbstractVirtualCharService.cs (5)
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.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharGreenSequence.Chunks.cs (2)
41if (position < new VirtualChar(array[0], tokenStart).Span.Start || 52if (position < span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharSequence.cs (6)
59if (span.Start > sequence.Length) 77public VirtualCharGreen this[int index] => _leafCharacters[_span.Start + index]; 88=> new(_leafCharacters, new TextSpan(_span.Start + start, length)); 95=> _leafCharacters?.FindIndex(tokenStart, position) - _span.Start; 101Debug.Assert(_span.End == virtualChars._span.Start); 114TextSpan.FromBounds(chars1._span.Start, chars2._span.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\EmbeddedLanguages\VirtualChars\VirtualCharUtilities.cs (1)
16=> TextSpan.FromBounds(vc1.Span.Start, vc2.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\LocationExtensions.cs (2)
19=> location.GetSourceTreeOrThrow().GetRoot(cancellationToken).FindToken(location.SourceSpan.Start); 38return !(tree == null || tree.IsHiddenPosition(loc.SourceSpan.Start));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SourceTextExtensions_SharedWithCodeStyle.cs (1)
47var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxNodeExtensions.cs (2)
305Math.Min(fullSpan.Start, node.SpanStart), 673while (position <= token.SpanStart && root.FullSpan.Start < token.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\SyntaxTreeExtensions.cs (1)
106var startLineNumber = text.Lines.IndexOf(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextLineExtensions.cs (1)
69for (var i = line.Span.Start; i < line.Span.End; i++)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\TextSpanExtensions.cs (8)
31if (span.Start < start) 33start = span.Start; 62var innerSpan = TextSpan.FromBounds(startNode.Span.Start, endNode.Span.End); 63var outerSpan = TextSpan.FromBounds(startNode.FullSpan.Start, endNode.FullSpan.End); 79var startSegmentEnd = Math.Min(span.End, except.Start); 80if (span.Start < startSegmentEnd) 81yield return TextSpan.FromBounds(span.Start, startSegmentEnd); 83var endSegmentStart = Math.Max(span.Start, except.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\BottomUpBaseIndentationFinder.cs (2)
59if (token.Span.End <= operation.TextSpan.Start && 337if (operation.TextSpan.IsEmpty && operation.TextSpan.Start == position)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.cs (12)
161if (operationSpan.Start < baseSpan.Start || 207var inseparableRegionStartingPosition = effectiveBaseTokenGetter(this, operation).FullSpan.Start; 226var indentationData = _indentationTree.GetSmallestContainingInterval(operation.TextSpan.Start, 0); 412var intervals = tree.GetIntervalsThatContain(textSpan.Start, textSpan.Length); 449var indentationData = _relativeIndentationTree.GetSmallestContainingInterval(span.Start, 0); 471var anchorData = _anchorTree.GetSmallestContainingInterval(span.Start, 0); 475DebugCheckEmpty(_anchorTree, new TextSpan(span.Start, 0)); 542var anchorData = _anchorTree.GetIntervalsThatOverlapWith(baseAnchorData.TextSpan.Start, baseAnchorData.TextSpan.Length); 600var data = _suppressWrappingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 629var data = _suppressSpacingTree.GetSmallestEdgeExclusivelyContainingInterval(textSpan.Start, textSpan.Length); 651=> _suppressFormattingTree.HasIntervalThatIntersectsWith(textSpan.Start, textSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Context\FormattingContext.IndentationData.cs (1)
108return new RelativeIndentationData(_formattingContext, InseparableRegionSpan.Start, span, Operation, _effectiveBaseTokenGetter, _indentationDeltaGetter, _baseIndentationGetter, _lazyIndentationDelta);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\ContextMutableIntervalTree.cs (7)
41var thisStart = thisSpan.Start; 53var thisStart = thisSpan.Start; 92if (Introspector.GetSpan(currentNode.Value).Start <= start) 128if (resultSpan.Start <= currentNodeSpan.Start && 160Introspector.GetSpan(parentNode.Value).Start == Introspector.GetSpan(currentNode.Value).Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\AbstractFormattingResult.cs (2)
83var oldText = (change.Span == span) ? originalString : originalString.Substring(change.Span.Start - span.Start, change.Span.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TokenStream.cs (1)
85Debug.Assert(previousToken.FullSpan.End <= currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.cs (1)
60get { return this.Root.FullSpan.Start; }
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.NodeAndText.cs (1)
37return _text.ToString(TextSpan.FromBounds(token2.FullSpan.Start, token2.SpanStart));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Engine\TreeData.StructuredTrivia.cs (1)
42var text = _trivia.ToFullString()[..(token.SpanStart - _trivia.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\FormattingExtensions.cs (3)
260span = new TextSpan(span.Start + i, span.Length - i); 300: firstToken.FullSpan.Start; 326last = TextSpan.FromBounds(last.Start, span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\BaseIndentationFormattingRule.cs (9)
131=> TextSpan.FromBounds(Math.Max(_span.Start, textSpan.Start), Math.Min(_span.End, textSpan.End)); 152token1 = root.FindToken(span.Start); 157if (span.End < token1.Span.Start) 162if (token2.Span.End < span.Start) 177if (span.Start <= token1.Span.Start) 190var end = token2.Span.Start; 196end = token2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\AnchorIndentationOperation.cs (1)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\IndentBlockOperation.cs (3)
18Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0); 38Contract.ThrowIfFalse(baseToken.Span.End <= textSpan.Start); 40Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\Rules\Operations\SuppressOperation.cs (1)
21Contract.ThrowIfTrue(textSpan.Start < 0 || textSpan.Length < 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Formatting\TriviaEngine\AbstractTriviaFormatter.cs (5)
487if (ContainsOnlyWhitespace(firstToken.FullSpan.Start, firstToken.SpanStart)) 501for (var i = span.Start - this.Token1.Span.End; i < span.Length; i++) 835return TextSpan.FromBounds(this.StartPosition, trivia2.FullSpan.Start); 843return TextSpan.FromBounds(trivia1.FullSpan.End, trivia2.FullSpan.Start); 937var offset = trivia.FullSpan.Start - this.StartPosition;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Indentation\AbstractIndentation.Indenter.cs (1)
248=> Math.Min(Root.EndOfFileToken.FullSpan.Start, position);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\Naming\IdentifierNameParts.cs (1)
77words.Add(name.Substring(part.Start, part.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.cs (8)
178=> name.Substring(wordSpan.Start, wordSpan.Length); 180private static readonly Func<string, TextSpan, bool> s_firstCharIsLowerCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsLower(val[span.Start]); 181private static readonly Func<string, TextSpan, bool> s_firstCharIsUpperCase = (val, span) => !DoesCharacterHaveCasing(val[span.Start]) || char.IsUpper(val[span.Start]); 185for (int i = span.Start, n = span.End; i < n; i++) 198for (int i = span.Start, n = span.End; i < n; i++) 411newWords[i] = name[parts[i].Start..parts[i].End];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\NamingStyles\NamingStyle.WordSpanEnumerator.cs (1)
25Current = new TextSpan(nameSpan.Start, 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\FileBannerFacts\AbstractFileBannerFacts.cs (3)
156(node.FullSpan.Start == 0 && _fileBannerMatcher.TryMatch(leadingTriviaToKeep, ref index))) 168Debug.Assert(root.FullSpan.Start == 0); 174Debug.Assert(firstToken.FullSpan.Start == 0);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\HeaderFacts\AbstractHeaderFacts.cs (3)
63if (holes.Any(static (h, position) => h.Span.Contains(position) && position > h.Span.Start, position)) 86if (tokenToRightOrIn.FullSpan.Start != position && tokenToRightOrIn.RawKind != SyntaxFacts.SyntaxKinds.EndOfFileToken) 105return Math.Min(afterAttributesToken.Span.Start, node.Span.End);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\RefactoringHelpers\AbstractRefactoringHelpers.cs (11)
40/// Returns empty Span with original <see cref="TextSpan.Start"/> in case it contains only whitespace. 47var start = span.Start; 101var location = selectionTrimmed.Start; 205else if (previousToken != default && previousToken.Span.End == commaToken.Span.Start) 219if (tokenToRight == default || tokenToRight.FullSpan.Start == location) 238if (tokenOnLocation.Span.Start >= location) 254var tokenLine = sourceText.Lines.GetLineFromPosition(tokenOnLocation.Span.Start); 327var location = tokenToRightOrIn.Span.Start; 352if (rightNode.Span.Start != location) 355if (rightNodeSpanWithoutAttributes.Start != location) 551var argumentStartLine = sourceText.Lines.GetLineFromPosition(typedAncestor.Span.Start).LineNumber;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SelectedMembers\AbstractSelectedMembers.cs (3)
65? root.FindToken(textSpan.Start) 66: root.FindTokenOnRightOfPosition(textSpan.Start); 125var position = textSpan.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Services\SyntaxFacts\ISyntaxFactsExtensions.cs (2)
164var span = TextSpan.FromBounds(firstNode.Span.Start, lastNode.Span.End); 459var startOfNodeWithoutAttributes = Math.Min(afterAttributesToken.Span.Start, endOfNode);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\SymbolKey\SymbolKey.SymbolKeyWriter.cs (1)
263WriteInteger(location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Builder.cs (2)
194_concatenatedLowerCaseWords.AsSpan(currentNode.CharacterSpan.Start, currentNode.CharacterSpan.Length), 195_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.cs (2)
120_concatenatedLowerCaseWords.AsSpan(characterSpan.Start, characterSpan.Length), 128result.Add(new string(_concatenatedLowerCaseWords, characterSpan.Start, characterSpan.Length));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\BKTree.Node.cs (1)
29writer.WriteInt32(WordSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\CommonFormattingHelpers.cs (13)
19return o1.TextSpan.Start - o2.TextSpan.Start; 25var d = o1.TextSpan.Start - o2.TextSpan.Start; 86var startToken = root.FindToken(textSpan.Start); 96if (textSpan.Start < startToken.SpanStart) 142return root.FullSpan.End == startToken.SpanStart || startToken.FullSpan.End > endToken.FullSpan.Start; 184if (token1.FullSpan.End == token2.FullSpan.Start) 192for (var token = token1.GetNextToken(includeZeroWidth: true); token.FullSpan.End <= token2.FullSpan.Start; token = token.GetNextToken(includeZeroWidth: true)) 303var forwardPosition = token.FullSpan.Start; 311Contract.ThrowIfFalse(parentNode.FullSpan.Start < forwardPosition); 327if (fullSpan.Start < position) 361var startToken = root.FindToken(span.Start).GetPreviousToken();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\LightweightOverloadResolution.cs (1)
264if (position <= arguments.GetSeparator(i).Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\StringBreaker.cs (1)
34Debug.Assert(span.Start >= start, "Bad generator.");
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixes\SyntaxEditorBasedCodeFixProvider.cs (2)
43.Sort((d1, d2) => d1.Location.SourceSpan.Start - d2.Location.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeFixesAndRefactorings\AbstractFixAllSpanMappingService.cs (3)
56var partialDeclSpan = syntaxFacts.GetContainingTypeDeclaration(root, syntaxRef.Span.Start)?.FullSpan; 82? syntaxFacts.GetContainingMemberDeclaration(root, span.Start) 83: syntaxFacts.GetContainingTypeDeclaration(root, span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\AbstractCodeGenerationService.cs (3)
505positionOfRemovedNode = attributeList.FullSpan.Start; 525positionOfRemovedNode = attributeToRemove.FullSpan.Start; 527var previousToken = root.FindToken(attributeToRemove.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeGeneration\CodeGenerationHelpers.cs (1)
208var afterMember = declarationList.LastOrDefault(m => m.SpanStart <= info.Context.AfterThisLocation.SourceSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\CodeRefactorings\CodeRefactoringHelpers.cs (5)
72if (node.FullSpan.Contains(selection.Start)) 74var selectionStartToken = node.FindToken(selection.Start); 81var beginningNode = node.FindToken(node.Span.Start).Parent; 93return beginningNode.Span.End <= selection.Start || endNode.Span.Start >= selection.End;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Editing\ImportAdderService.cs (1)
70bool OverlapsWithSpan(SyntaxNode n) => spansTree.HasIntervalThatOverlapsWith(n.FullSpan.Start, n.FullSpan.Length);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\DocumentExtensions.cs (1)
147var token = root.FindToken(span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (2)
398if (p.Length > 0 && char.IsLetter(name[p.Start])) 399return name.Substring(p.Start, p.Length).ToCamelCase();
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\LanguageServices\MoveDeclarationNearReference\AbstractMoveDeclarationNearReferenceService.State.cs (1)
107let token = syntaxRoot.FindToken(r.Location.SourceSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Simplification\AbstractSimplificationService.cs (1)
147=> !spansTree.HasIntervalThatOverlapsWith(nodeOrToken.FullSpan.Start, nodeOrToken.FullSpan.Length);
Roslyn.Diagnostics.CSharp.Analyzers (43)
CSharpAvoidOptSuffixForNullableEnableCodeCodeFixProvider.cs (1)
54if (semanticModel.LookupSymbols(diagnostic.Location.SourceSpan.Start, variableSymbol.ContainingType, newName).IsEmpty)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\EmbeddedLanguages\VirtualChars\CSharpVirtualCharService.cs (2)
206var lineStart = lineSpan.Start; 213? lineSpan.Start + indentationLength
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\BlockSyntaxExtensions.cs (1)
92if (conditionalDirectives.Last().Span.End <= statement.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (1)
562if (!textSpan.Contains(matchSpan.Start))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTreeExtensions.cs (11)
34positionBeforeModifiers = token.FullSpan.Start; 206if (position > fullSpan.Start && position < fullSpan.End) 213if (position > fullSpan.Start && position <= fullSpan.End) 232if (position > span.Start && position < span.End) 251? position > span.Start && position < span.End 252: position > span.Start && position <= span.End; 287if (position > span.Start && position <= span.End) 313if (position > span.Start && position <= span.End) 362for (int i = token.Span.End - 1, n = token.Span.Start; i >= n; i--) 416return (position > span.Start && position < span.End) 462return (position > span.Start && position < span.End)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxTriviaExtensions.cs (2)
157if (span.Start == 0) 162return syntaxTree.GetRoot(cancellationToken).FindTrivia(span.Start - 1, findInsideTrivia);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaDataFactory.ComplexTrivia.cs (1)
53var formatSpanEnd = commonToken2.Kind() == SyntaxKind.None ? commonToken1.Span.End : commonToken2.Span.Start;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Engine\Trivia\TriviaRewriter.cs (1)
102return TextSpan.FromBounds(_node.FullSpan.Start, pair.Item2.SpanStart);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (1)
558Debug.Assert(previousToken.FullSpan.End == currentToken.FullSpan.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\BaseFormattingRule.cs (1)
41startToken, endToken, TextSpan.FromBounds(startToken.Span.Start, endToken.Span.End),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (3)
124span = lastSection ? span : TextSpan.FromBounds(span.Start, endToken.FullSpan.End); 306TextSpan.FromBounds(openParen.Span.End, closeParen.Span.Start)); 370AddIndentBlockOperation(list, firstToken, lastToken, TextSpan.FromBounds(firstToken.FullSpan.Start, lastToken.FullSpan.End));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\WrappingFormattingRule.cs (2)
188if (operation.TextSpan.Start >= span.Start && operation.TextSpan.End <= span.End && operation.Option.HasFlag(SuppressOption.NoWrappingIfOnSingleLine))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\RefactoringHelpers\CSharpRefactoringHelpers.cs (1)
41position > typeDecl.CloseBraceToken.Span.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (1)
1042return !branch.IsActive || !branch.BranchTaken ? TextSpan.FromBounds(branch.FullSpan.Start, position) : default;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeFixesAndRefactorings\CSharpFixAllSpanMappingService.cs (2)
45fixAllSpan = new TextSpan(root.FullSpan.Start, firstTypeOrNamespaceDecl.FullSpan.Start - 1);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationHelpers.cs (1)
207return contextTree?.GetRoot(cancellationToken).FindToken(contextLocation!.SourceSpan.Start).Parent;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\CSharpCodeGenerationService.cs (5)
403return Cast<TDeclarationNode>(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 411return Cast<TDeclarationNode>(AppendTriviaAtPosition(newAccessor, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 419return Cast<TDeclarationNode>(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 427return Cast<TDeclarationNode>(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)); 434return Cast<TDeclarationNode>(AppendTriviaAtPosition(newTypeParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode));
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\SyntaxTreeExtensions.cs (1)
123stack += (position - token.Span.Start);
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Formatting\CSharpSyntaxFormattingService.cs (2)
89return [.. tokenEdits.Where(t => t.Span.Start >= token.FullSpan.Start)];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Indentation\CSharpIndentationService.Indenter.cs (3)
55var line = indenter.Text.Lines.GetLineFromPosition(trivia.FullSpan.Start); 56if (line.GetFirstNonWhitespacePosition() != trivia.FullSpan.Start) 60return new IndentationResult(trivia.FullSpan.Start, 0);
Roslyn.Diagnostics.VisualBasic.Analyzers (9)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\ParenthesizedExpressionSyntaxExtensions.vb (2)
141If interpolation.OpenBraceToken.Span.End = node.OpenParenToken.Span.Start AndAlso 142node.OpenParenToken.Span.End = expression.Span.Start Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Extensions\SyntaxNodeExtensions.vb (1)
416If Not textSpan.Contains(matchSpan.Start) Then
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\VisualBasic\Services\SyntaxFacts\VisualBasicSyntaxFacts.vb (2)
849firstStatement.FullSpan.Start, 850method.EndBlockStatement.FullSpan.Start)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\VisualBasicCodeGenerationService.vb (3)
383Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newMember, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 393Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newCompilationUnit, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode)) 402Return Cast(Of TDeclarationNode)(AppendTriviaAtPosition(newParameter, positionOfRemovedNode - destination.FullSpan.Start, triviaOfRemovedNode))
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\Indentation\SpecialFormattingOperation.vb (1)
73TextSpan.FromBounds(startToken.FullSpan.Start, node.FullSpan.End), indentationDelta:=1, [option]:=IndentBlockOption.RelativePosition))
System.Windows.Forms.Analyzers.CodeFixes.CSharp (1)
System\Windows\Forms\CSharp\CodeFixes\AddDesignerSerializationVisibility\AddDesignerSerializationVisibilityCodeFixProvider.cs (1)
42PropertyDeclarationSyntax? propertyDeclaration = root.FindToken(diagnosticSpan.Start)