diff options
Diffstat (limited to 'lldb/source/Commands/CommandObjectSyntax.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectSyntax.cpp | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/lldb/source/Commands/CommandObjectSyntax.cpp b/lldb/source/Commands/CommandObjectSyntax.cpp deleted file mode 100644 index 2b83b1b8786..00000000000 --- a/lldb/source/Commands/CommandObjectSyntax.cpp +++ /dev/null @@ -1,103 +0,0 @@ -//===-- CommandObjectSyntax.cpp ---------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// C Includes -// C++ Includes -// Other libraries and framework includes -// Project includes -#include "CommandObjectSyntax.h" -#include "CommandObjectHelp.h" -#include "lldb/Interpreter/Args.h" -#include "lldb/Interpreter/CommandInterpreter.h" -#include "lldb/Interpreter/CommandObjectMultiword.h" -#include "lldb/Interpreter/CommandReturnObject.h" -#include "lldb/Interpreter/Options.h" - -using namespace lldb; -using namespace lldb_private; - -//------------------------------------------------------------------------- -// CommandObjectSyntax -//------------------------------------------------------------------------- - -CommandObjectSyntax::CommandObjectSyntax(CommandInterpreter &interpreter) - : CommandObjectParsed( - interpreter, "syntax", - "Shows the correct syntax for a given debugger command.", - "syntax <command>") { - CommandArgumentEntry arg; - CommandArgumentData command_arg; - - // Define the first (and only) variant of this arg. - command_arg.arg_type = eArgTypeCommandName; - command_arg.arg_repetition = eArgRepeatPlain; - - // There is only one variant this argument could be; put it into the argument - // entry. - arg.push_back(command_arg); - - // Push the data for the first argument into the m_arguments vector. - m_arguments.push_back(arg); -} - -CommandObjectSyntax::~CommandObjectSyntax() = default; - -bool CommandObjectSyntax::DoExecute(Args &command, - CommandReturnObject &result) { - CommandObject::CommandMap::iterator pos; - CommandObject *cmd_obj; - const size_t argc = command.GetArgumentCount(); - - if (argc == 0) { - result.AppendError("Must call 'syntax' with a valid command."); - result.SetStatus(eReturnStatusFailed); - return false; - } - - cmd_obj = m_interpreter.GetCommandObject(command[0].ref); - bool all_okay = llvm::all_of( - command.entries().drop_front(), [&cmd_obj](const Args::ArgEntry &e) { - if (!cmd_obj || !cmd_obj->IsMultiwordObject()) - return false; - - if (!(cmd_obj = cmd_obj->GetSubcommandObject(e.ref))) - return false; - - return true; - }); - - if (!all_okay) { - std::string cmd_string; - command.GetCommandString(cmd_string); - - StreamString error_msg_stream; - const bool generate_apropos = true; - const bool generate_type_lookup = false; - CommandObjectHelp::GenerateAdditionalHelpAvenuesMessage( - &error_msg_stream, cmd_string, "", "", generate_apropos, - generate_type_lookup); - result.AppendErrorWithFormat("%s", error_msg_stream.GetData()); - result.SetStatus(eReturnStatusFailed); - return false; - } - - Stream &output_strm = result.GetOutputStream(); - if (cmd_obj->GetOptions() != nullptr) { - output_strm.Printf("\nSyntax: %s\n", cmd_obj->GetSyntax().str().c_str()); - output_strm.Printf( - "(Try 'help %s' for more information on command options syntax.)\n", - cmd_obj->GetCommandName().str().c_str()); - result.SetStatus(eReturnStatusSuccessFinishNoResult); - } else { - output_strm.Printf("\nSyntax: %s\n", cmd_obj->GetSyntax().str().c_str()); - result.SetStatus(eReturnStatusSuccessFinishNoResult); - } - - return result.Succeeded(); -} |