summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/SourceCode.cpp
diff options
context:
space:
mode:
authorMarc-Andre Laperle <marc-andre.laperle@ericsson.com>2018-02-21 02:39:08 +0000
committerMarc-Andre Laperle <marc-andre.laperle@ericsson.com>2018-02-21 02:39:08 +0000
commit63a1098d73312c89a538d67aa2cf1188513bcc83 (patch)
tree900647d60b809967d5fb084d8c55a79c7b394d91 /clang-tools-extra/clangd/SourceCode.cpp
parent52525730a163c56f82a43584faa8acb8fd45e1da (diff)
[clangd] #include statements support for Open definition
Summary: ctrl-clicking on #include statements now opens the file being pointed by that statement. Reviewers: malaperle, krasimir, bkramer, ilya-biryukov Reviewed By: ilya-biryukov Subscribers: jkorous-apple, ioeric, mgrang, klimek, ilya-biryukov, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D38639 llvm-svn: 325662
Diffstat (limited to 'clang-tools-extra/clangd/SourceCode.cpp')
-rw-r--r--clang-tools-extra/clangd/SourceCode.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/SourceCode.cpp b/clang-tools-extra/clangd/SourceCode.cpp
index 7ef3700681fc..4495b537d696 100644
--- a/clang-tools-extra/clangd/SourceCode.cpp
+++ b/clang-tools-extra/clangd/SourceCode.cpp
@@ -8,6 +8,8 @@
//===----------------------------------------------------------------------===//
#include "SourceCode.h"
+#include "clang/Basic/SourceManager.h"
+
namespace clang {
namespace clangd {
using namespace llvm;
@@ -39,6 +41,12 @@ Position offsetToPosition(StringRef Code, size_t Offset) {
return Pos;
}
+Position sourceLocToPosition(const SourceManager &SM, SourceLocation Loc) {
+ Position P;
+ P.line = static_cast<int>(SM.getSpellingLineNumber(Loc)) - 1;
+ P.character = static_cast<int>(SM.getSpellingColumnNumber(Loc)) - 1;
+ return P;
+}
+
} // namespace clangd
} // namespace clang
-