diff options
| author | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2018-02-21 02:39:08 +0000 |
|---|---|---|
| committer | Marc-Andre Laperle <marc-andre.laperle@ericsson.com> | 2018-02-21 02:39:08 +0000 |
| commit | 63a1098d73312c89a538d67aa2cf1188513bcc83 (patch) | |
| tree | 900647d60b809967d5fb084d8c55a79c7b394d91 /clang-tools-extra/clangd/SourceCode.cpp | |
| parent | 52525730a163c56f82a43584faa8acb8fd45e1da (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.cpp | 10 |
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 - |
