From 8f876d5105507f874c0fb86bc779c9853eab3fe2 Mon Sep 17 00:00:00 2001 From: Sam McCall Date: Mon, 16 Dec 2019 15:57:43 +0100 Subject: Revert "[clangd] Reapply b60896fad926 Fall back to selecting token-before-cursor if token-after-cursor fails." This reverts commit 2500a8d5d8813a3e31fc9ba8dd45e211439a1e3d. --- clang-tools-extra/clangd/XRefs.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'clang-tools-extra/clangd/XRefs.cpp') diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp index 170637b596d..b16e7080aa6 100644 --- a/clang-tools-extra/clangd/XRefs.cpp +++ b/clang-tools-extra/clangd/XRefs.cpp @@ -131,16 +131,15 @@ SymbolLocation getPreferredLocation(const Location &ASTLoc, std::vector getDeclAtPosition(ParsedAST &AST, SourceLocation Pos, DeclRelationSet Relations) { - unsigned Offset = AST.getSourceManager().getDecomposedSpellingLoc(Pos).second; + FileID FID; + unsigned Offset; + std::tie(FID, Offset) = AST.getSourceManager().getDecomposedSpellingLoc(Pos); + SelectionTree Selection(AST.getASTContext(), AST.getTokens(), Offset); std::vector Result; - SelectionTree::createEach(AST.getASTContext(), AST.getTokens(), Offset, - Offset, [&](SelectionTree ST) { - if (const SelectionTree::Node *N = - ST.commonAncestor()) - llvm::copy(targetDecl(N->ASTNode, Relations), - std::back_inserter(Result)); - return !Result.empty(); - }); + if (const SelectionTree::Node *N = Selection.commonAncestor()) { + auto Decls = targetDecl(N->ASTNode, Relations); + Result.assign(Decls.begin(), Decls.end()); + } return Result; } -- cgit v1.2.3