diff --git a/src/messages/textDocument_definition.cc b/src/messages/textDocument_definition.cc index f857e496..cc9d9d5d 100644 --- a/src/messages/textDocument_definition.cc +++ b/src/messages/textDocument_definition.cc @@ -21,30 +21,6 @@ limitations under the License. #include namespace ccls { -namespace { -std::vector GetNonDefDeclarationTargets(DB *db, SymbolRef sym) { - switch (sym.kind) { - case Kind::Var: { - std::vector ret = GetNonDefDeclarations(db, sym); - // If there is no declaration, jump to its type. - if (ret.empty()) { - for (auto &def : db->GetVar(sym).def) - if (def.type) { - if (Maybe use = - GetDefinitionSpell(db, SymbolIdx{def.type, Kind::Type})) { - ret.push_back(*use); - break; - } - } - } - return ret; - } - default: - return GetNonDefDeclarations(db, sym); - } -} -} // namespace - void MessageHandler::textDocument_declaration(TextDocumentPositionParam ¶m, ReplyOnce &reply) { int file_id; @@ -96,7 +72,7 @@ void MessageHandler::textDocument_definition(TextDocumentPositionParam ¶m, // |uses| is empty if on a declaration/definition, otherwise it includes // all declarations/definitions. if (drs.empty()) { - for (DeclRef dr : GetNonDefDeclarationTargets(db, sym)) + for (DeclRef dr : GetNonDefDeclarations(db, sym)) if (!(dr.file_id == file_id && dr.range.Contains(ls_pos.line, ls_pos.character))) drs.push_back(dr);