diff --git a/clang-tools-extra/clangd/XRefs.cpp b/clang-tools-extra/clangd/XRefs.cpp --- a/clang-tools-extra/clangd/XRefs.cpp +++ b/clang-tools-extra/clangd/XRefs.cpp @@ -857,7 +857,6 @@ struct Reference { syntax::Token SpelledTok; index::SymbolRoleSet Role; - SymbolID Target; Range range(const SourceManager &SM) const { return halfOpenToRange(SM, SpelledTok.range(SM).toCharRange(SM)); @@ -870,7 +869,7 @@ : PerToken(PerToken), AST(AST) { for (const NamedDecl *ND : Targets) { const Decl *CD = ND->getCanonicalDecl(); - TargetDeclToID[CD] = getSymbolID(CD); + TargetDecls.insert(CD); } } @@ -897,8 +896,7 @@ llvm::ArrayRef Relations, SourceLocation Loc, index::IndexDataConsumer::ASTNodeInfo ASTNode) override { - auto DeclID = TargetDeclToID.find(D->getCanonicalDecl()); - if (DeclID == TargetDeclToID.end()) + if (TargetDecls.find(D->getCanonicalDecl()) == TargetDecls.end()) return true; const SourceManager &SM = AST.getSourceManager(); if (!isInsideMainFile(Loc, SM)) @@ -926,7 +924,7 @@ for (SourceLocation L : Locs) { L = SM.getFileLoc(L); if (const auto *Tok = TB.spelledTokenAt(L)) - References.push_back({*Tok, Roles, DeclID->getSecond()}); + References.push_back({*Tok, Roles}); } return true; } @@ -935,7 +933,7 @@ bool PerToken; // If true, report 3 references for split ObjC selector names. std::vector References; const ParsedAST * - llvm::DenseMap TargetDeclToID; + llvm::DenseSet TargetDecls; }; std::vector