[SourceKit/CursorInfo] Include line and column in result

Add line/column in addition to offset so clients need not map it
themselves.
This commit is contained in:
Ben Barham
2021-04-14 14:21:40 +10:00
parent 828d12764c
commit f773e980ce
7 changed files with 119 additions and 94 deletions

View File

@@ -2295,6 +2295,17 @@ ImmutableTextSnapshotRef SwiftEditorDocument::getLatestSnapshot() const {
return Impl.EditableBuffer->getSnapshot();
}
std::pair<unsigned, unsigned>
SwiftEditorDocument::getLineAndColumnInBuffer(unsigned Offset) {
llvm::sys::ScopedLock L(Impl.AccessMtx);
auto SyntaxInfo = Impl.getSyntaxInfo();
auto &SM = SyntaxInfo->getSourceManager();
auto Loc = SM.getLocForOffset(SyntaxInfo->getBufferID(), Offset);
return SM.getLineAndColumnInBuffer(Loc);
}
void SwiftEditorDocument::reportDocumentStructure(SourceFile &SrcFile,
EditorConsumer &Consumer) {
ide::SyntaxModelContext ModelContext(SrcFile);