summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/CodeComplete.cpp
diff options
context:
space:
mode:
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