Author: Dave Lee Date: 2022-01-06T20:15:19-08:00 New Revision: bd23dffc2c38b7cffd3811716fd373cd2b588c27
URL: https://github.com/llvm/llvm-project/commit/bd23dffc2c38b7cffd3811716fd373cd2b588c27 DIFF: https://github.com/llvm/llvm-project/commit/bd23dffc2c38b7cffd3811716fd373cd2b588c27.diff LOG: Revert "[lldb] Compute fully qualified command names in FindCommandsForApropos" This reverts commit b3bfd595a548cd85b12e4e83729436cb73b26f29. Added: Modified: lldb/include/lldb/Interpreter/CommandInterpreter.h lldb/source/Interpreter/CommandInterpreter.cpp Removed: ################################################################################ diff --git a/lldb/include/lldb/Interpreter/CommandInterpreter.h b/lldb/include/lldb/Interpreter/CommandInterpreter.h index 3efb59fc05647..e6f0d5f9c4d43 100644 --- a/lldb/include/lldb/Interpreter/CommandInterpreter.h +++ b/lldb/include/lldb/Interpreter/CommandInterpreter.h @@ -649,7 +649,7 @@ class CommandInterpreter : public Broadcaster, void FindCommandsForApropos(llvm::StringRef word, StringList &commands_found, StringList &commands_help, - const CommandObject::CommandMap &command_map); + CommandObject::CommandMap &command_map); // An interruptible wrapper around the stream output void PrintCommandOutput(Stream &stream, llvm::StringRef str); diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp index 59c23716bf89c..085b06bce0eae 100644 --- a/lldb/source/Interpreter/CommandInterpreter.cpp +++ b/lldb/source/Interpreter/CommandInterpreter.cpp @@ -2841,10 +2841,12 @@ void CommandInterpreter::OutputHelpText(Stream &strm, llvm::StringRef word_text, void CommandInterpreter::FindCommandsForApropos( llvm::StringRef search_word, StringList &commands_found, - StringList &commands_help, const CommandObject::CommandMap &command_map) { - for (const auto &pair : command_map) { - llvm::StringRef command_name = pair.first; - CommandObject *cmd_obj = pair.second.get(); + StringList &commands_help, CommandObject::CommandMap &command_map) { + CommandObject::CommandMap::const_iterator pos; + + for (pos = command_map.begin(); pos != command_map.end(); ++pos) { + llvm::StringRef command_name = pos->first; + CommandObject *cmd_obj = pos->second.get(); const bool search_short_help = true; const bool search_long_help = false; @@ -2854,19 +2856,14 @@ void CommandInterpreter::FindCommandsForApropos( cmd_obj->HelpTextContainsWord(search_word, search_short_help, search_long_help, search_syntax, search_options)) { - commands_found.AppendString(command_name); + commands_found.AppendString(cmd_obj->GetCommandName()); commands_help.AppendString(cmd_obj->GetHelp()); } - if (auto *multiword_cmd = cmd_obj->GetAsMultiwordCommand()) { - StringList subcommands_found; - FindCommandsForApropos(search_word, subcommands_found, commands_help, - multiword_cmd->GetSubcommandDictionary()); - for (const auto &subcommand_name : subcommands_found) { - std::string qualified_name = - (command_name + " " + subcommand_name).str(); - commands_found.AppendString(qualified_name); - } + if (cmd_obj->IsMultiwordObject()) { + CommandObjectMultiword *cmd_multiword = cmd_obj->GetAsMultiwordCommand(); + FindCommandsForApropos(search_word, commands_found, commands_help, + cmd_multiword->GetSubcommandDictionary()); } } } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits