summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/CodeComplete.cpp
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2018-08-30 13:14:31 +0000
committerIlya Biryukov <ibiryukov@google.com>2018-08-30 13:14:31 +0000
commit43c292c6d96d7595c7dcc8c2659dc5cf8b0ff4f8 (patch)
tree3a954d622f322b972ab5b6ddefcc994a94938fc5 /clang-tools-extra/clangd/CodeComplete.cpp
parente11f221786c9c70a0ccdfdfff454dc552abd9a21 (diff)
downloadbcm5719-llvm-43c292c6d96d7595c7dcc8c2659dc5cf8b0ff4f8.tar.gz
bcm5719-llvm-43c292c6d96d7595c7dcc8c2659dc5cf8b0ff4f8.zip
[clangd] Report position of opening paren in singature help
Summary: Only accessible via the C++ API at the moment. Reviewers: sammccall Reviewed By: sammccall Subscribers: ioeric, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D51437 llvm-svn: 341065
Diffstat (limited to 'clang-tools-extra/clangd/CodeComplete.cpp')
-rw-r--r--clang-tools-extra/clangd/CodeComplete.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp
index 65c415fbaca..e355a83328d 100644
--- a/clang-tools-extra/clangd/CodeComplete.cpp
+++ b/clang-tools-extra/clangd/CodeComplete.cpp
@@ -794,7 +794,17 @@ public:
void ProcessOverloadCandidates(Sema &S, unsigned CurrentArg,
OverloadCandidate *Candidates,
- unsigned NumCandidates) override {
+ unsigned NumCandidates,
+ SourceLocation OpenParLoc) override {
+ assert(!OpenParLoc.isInvalid());
+ SourceManager &SrcMgr = S.getSourceManager();
+ OpenParLoc = SrcMgr.getFileLoc(OpenParLoc);
+ if (SrcMgr.isInMainFile(OpenParLoc))
+ SigHelp.argListStart = sourceLocToPosition(SrcMgr, OpenParLoc);
+ else
+ elog("Location oustide main file in signature help: {0}",
+ OpenParLoc.printToString(SrcMgr));
+
std::vector<ScoredSignature> ScoredSignatures;
SigHelp.signatures.reserve(NumCandidates);
ScoredSignatures.reserve(NumCandidates);
OpenPOWER on IntegriCloud