LLDB
mainline
|
#include <CommandObjectMultiword.h>
Inherits lldb_private::CommandObject.
Inherited by CommandObjectBreakpointName, CommandObjectCommandContainer, CommandObjectFrameRecognizer, CommandObjectLogTimer, CommandObjectMultiwordCommandsScript, CommandObjectMultiwordItaniumABI, CommandObjectMultiwordObjC, CommandObjectMultiwordObjC_ClassTable, CommandObjectMultiwordObjC_TaggedPointer, CommandObjectMultiwordProcessGDBRemote, CommandObjectMultiwordProcessKDP, CommandObjectMultiwordProcessMinidump, CommandObjectMultiwordProcessTrace, CommandObjectMultiwordTargetStopHooks, CommandObjectMultiwordThreadPlan, CommandObjectMultiwordTrace, CommandObjectMultiwordTraceDump, CommandObjectPlatformFile, CommandObjectPlatformProcess, CommandObjectProcessGDBRemotePacket, CommandObjectProcessKDPPacket, CommandObjectRenderScriptRuntime, CommandObjectRenderScriptRuntimeAllocation, CommandObjectRenderScriptRuntimeContext, CommandObjectRenderScriptRuntimeKernel, CommandObjectRenderScriptRuntimeKernelBreakpoint, CommandObjectRenderScriptRuntimeModule, CommandObjectRenderScriptRuntimeReduction, CommandObjectRenderScriptRuntimeReductionBreakpoint, CommandObjectRenderScriptScriptGroup, CommandObjectRenderScriptScriptGroupBreakpoint, CommandObjectTargetDump, CommandObjectTargetModules, CommandObjectTargetModulesDump, CommandObjectTargetModulesImageSearchPaths, CommandObjectTargetSymbols, CommandObjectTraceExport, CommandObjectWatchpointSet, lldb_private::CommandObjectBreakpointCommand, lldb_private::CommandObjectLanguage, lldb_private::CommandObjectLog, lldb_private::CommandObjectMemory, lldb_private::CommandObjectMemoryTag, lldb_private::CommandObjectMultiwordBreakpoint, lldb_private::CommandObjectMultiwordCommands, lldb_private::CommandObjectMultiwordFrame, lldb_private::CommandObjectMultiwordProcess, lldb_private::CommandObjectMultiwordSettings, lldb_private::CommandObjectMultiwordSource, lldb_private::CommandObjectMultiwordTarget, lldb_private::CommandObjectMultiwordThread, lldb_private::CommandObjectMultiwordWatchpoint, lldb_private::CommandObjectPlatform, lldb_private::CommandObjectPlugin, lldb_private::CommandObjectRegister, lldb_private::CommandObjectReproducer, lldb_private::CommandObjectSession, lldb_private::CommandObjectStats, lldb_private::CommandObjectTrace, lldb_private::CommandObjectType, lldb_private::CommandObjectWatchpointCommand, and sddarwinlog_private::BaseCommand.
Public Member Functions | |
CommandObjectMultiword (CommandInterpreter &interpreter, const char *name, const char *help=nullptr, const char *syntax=nullptr, uint32_t flags=0) | |
~CommandObjectMultiword () override | |
bool | IsMultiwordObject () override |
CommandObjectMultiword * | GetAsMultiwordCommand () override |
bool | LoadSubCommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj) override |
llvm::Error | LoadUserSubcommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj, bool can_replace) override |
llvm::Error | RemoveUserSubcommand (llvm::StringRef cmd_name, bool multiword_okay) |
void | GenerateHelpText (Stream &output_stream) override |
lldb::CommandObjectSP | GetSubcommandSP (llvm::StringRef sub_cmd, StringList *matches=nullptr) override |
lldb::CommandObjectSP | GetSubcommandSPExact (llvm::StringRef sub_cmd) override |
CommandObject * | GetSubcommandObject (llvm::StringRef sub_cmd, StringList *matches=nullptr) override |
bool | WantsRawCommandString () override |
void | HandleCompletion (CompletionRequest &request) override |
This default version handles calling option argument completions and then calls HandleArgumentCompletion if the cursor is on an argument, not an option. More... | |
llvm::Optional< std::string > | GetRepeatCommand (Args ¤t_command_args, uint32_t index) override |
Get the command that appropriate for a "repeat" of the current command. More... | |
bool | Execute (const char *args_string, CommandReturnObject &result) override |
bool | IsRemovable () const override |
void | SetRemovable (bool removable) |
![]() | |
CommandObject (CommandInterpreter &interpreter, llvm::StringRef name, llvm::StringRef help="", llvm::StringRef syntax="", uint32_t flags=0) | |
virtual | ~CommandObject ()=default |
CommandInterpreter & | GetCommandInterpreter () |
Debugger & | GetDebugger () |
virtual llvm::StringRef | GetHelp () |
virtual llvm::StringRef | GetHelpLong () |
virtual llvm::StringRef | GetSyntax () |
llvm::StringRef | GetCommandName () const |
virtual void | SetHelp (llvm::StringRef str) |
virtual void | SetHelpLong (llvm::StringRef str) |
void | SetSyntax (llvm::StringRef str) |
bool | IsUserCommand () |
void | SetIsUserCommand (bool is_user) |
virtual bool | IsAlias () |
virtual bool | IsDashDashCommand () |
void | FormatLongHelpText (Stream &output_strm, llvm::StringRef long_help) |
void | GenerateHelpText (CommandReturnObject &result) |
virtual bool | WantsCompletion () |
virtual Options * | GetOptions () |
int | GetNumArgumentEntries () |
CommandArgumentEntry * | GetArgumentEntryAtIndex (int idx) |
void | GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask=LLDB_OPT_SET_ALL) |
bool | IsPairType (ArgumentRepetitionType arg_repeat_type) |
bool | ParseOptions (Args &args, CommandReturnObject &result) |
void | SetCommandName (llvm::StringRef name) |
virtual void | HandleArgumentCompletion (CompletionRequest &request, OptionElementVector &opt_element_vector) |
The input array contains a parsed version of the line. More... | |
bool | HelpTextContainsWord (llvm::StringRef search_word, bool search_short_help=true, bool search_long_help=true, bool search_syntax=true, bool search_options=true) |
Flags & | GetFlags () |
The flags accessor. More... | |
const Flags & | GetFlags () const |
The flags const accessor. More... | |
bool | HasOverrideCallback () const |
void | SetOverrideCallback (lldb::CommandOverrideCallback callback, void *baton) |
void | SetOverrideCallback (lldb::CommandOverrideCallbackWithResult callback, void *baton) |
bool | InvokeOverrideCallback (const char **argv, CommandReturnObject &result) |
Protected Member Functions | |
CommandObject::CommandMap & | GetSubcommandDictionary () |
![]() | |
bool | ParseOptionsAndNotify (Args &args, CommandReturnObject &result, OptionGroupOptions &group_options, ExecutionContext &exe_ctx) |
virtual const char * | GetInvalidTargetDescription () |
virtual const char * | GetInvalidProcessDescription () |
virtual const char * | GetInvalidThreadDescription () |
virtual const char * | GetInvalidFrameDescription () |
virtual const char * | GetInvalidRegContextDescription () |
Target & | GetSelectedOrDummyTarget (bool prefer_dummy=false) |
Target & | GetSelectedTarget () |
Target & | GetDummyTarget () |
Thread * | GetDefaultThread () |
bool | CheckRequirements (CommandReturnObject &result) |
Check the command to make sure anything required by this command is available. More... | |
void | Cleanup () |
Protected Attributes | |
CommandObject::CommandMap | m_subcommand_dict |
bool | m_can_be_removed |
![]() | |
CommandInterpreter & | m_interpreter |
ExecutionContext | m_exe_ctx |
std::unique_lock< std::recursive_mutex > | m_api_locker |
std::string | m_cmd_name |
std::string | m_cmd_help_short |
std::string | m_cmd_help_long |
std::string | m_cmd_syntax |
Flags | m_flags |
std::vector< CommandArgumentEntry > | m_arguments |
lldb::CommandOverrideCallback | m_deprecated_command_override_callback |
lldb::CommandOverrideCallbackWithResult | m_command_override_callback |
void * | m_command_override_baton |
bool | m_is_user_command = false |
Friends | |
class | CommandInterpreter |
class | CommandObjectSyntax |
Definition at line 19 of file CommandObjectMultiword.h.
CommandObjectMultiword::CommandObjectMultiword | ( | CommandInterpreter & | interpreter, |
const char * | name, | ||
const char * | help = nullptr , |
||
const char * | syntax = nullptr , |
||
uint32_t | flags = 0 |
||
) |
Definition at line 19 of file CommandObjectMultiword.cpp.
|
overridedefault |
|
overridevirtual |
Implements lldb_private::CommandObject.
Definition at line 161 of file CommandObjectMultiword.cpp.
References lldb_private::CommandReturnObject::AppendError(), lldb_private::CommandReturnObject::AppendErrorWithFormat(), lldb_private::CommandReturnObject::AppendRawError(), lldb_private::CommandObject::Execute(), lldb_private::CommandObject::GenerateHelpText(), lldb_private::Args::GetArgumentCount(), lldb_private::CommandObject::GetCommandName(), lldb_private::StringList::GetSize(), GetSubcommandObject(), m_subcommand_dict, lldb_private::Args::Shift(), string(), and lldb_private::CommandReturnObject::Succeeded().
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 224 of file CommandObjectMultiword.cpp.
References lldb_private::FindLongestCommandWord(), lldb_private::CommandObject::GenerateHelpText(), lldb_private::CommandObject::m_interpreter, m_subcommand_dict, lldb_private::CommandInterpreter::OutputFormattedHelpText(), lldb_private::Stream::PutCString(), and string().
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 33 of file CommandObjectMultiword.h.
|
overridevirtual |
Get the command that appropriate for a "repeat" of the current command.
[in] | current_command_args | The command arguments. |
Reimplemented from lldb_private::CommandObject.
Definition at line 294 of file CommandObjectMultiword.cpp.
References lldb_private::Args::GetArgumentCount(), lldb_private::CommandObject::GetRepeatCommand(), and GetSubcommandObject().
|
inlineprotected |
Definition at line 68 of file CommandObjectMultiword.h.
References m_subcommand_dict.
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 75 of file CommandObjectMultiword.cpp.
References GetSubcommandSP().
Referenced by lldb_private::CommandCompletions::CompleteModifiableCmdPathArgs(), Execute(), GetRepeatCommand(), and HandleCompletion().
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 41 of file CommandObjectMultiword.cpp.
References lldb_private::AddNamesMatchingPartialString(), lldb_private::StringList::AppendString(), lldb_private::StringList::GetStringAtIndex(), GetSubcommandSPExact(), m_subcommand_dict, and string().
Referenced by GetSubcommandObject().
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 30 of file CommandObjectMultiword.cpp.
References m_subcommand_dict, and string().
Referenced by GetSubcommandSP().
|
overridevirtual |
This default version handles calling option argument completions and then calls HandleArgumentCompletion if the cursor is on an argument, not an option.
Don't override this method, override HandleArgumentCompletion instead unless you have special reasons.
[in,out] | request | The completion request that needs to be answered. |
Reimplemented from lldb_private::CommandObject.
Definition at line 255 of file CommandObjectMultiword.cpp.
References lldb_private::CompletionRequest::AddCompletions(), lldb_private::AddNamesMatchingPartialString(), lldb_private::CompletionRequest::AppendEmptyArgument(), lldb_private::StringList::DeleteStringAtIndex(), lldb_private::Args::GetArgumentCount(), lldb_private::CompletionRequest::GetCursorIndex(), lldb_private::CompletionRequest::GetParsedLine(), lldb_private::StringList::GetSize(), lldb_private::StringList::GetStringAtIndex(), GetSubcommandObject(), lldb_private::CommandObject::HandleCompletion(), m_subcommand_dict, lldb_private::Args::Shift(), and lldb_private::CompletionRequest::ShiftArguments().
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 31 of file CommandObjectMultiword.h.
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 63 of file CommandObjectMultiword.h.
References m_can_be_removed.
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 80 of file CommandObjectMultiword.cpp.
References lldb_private::CommandObject::GetCommandInterpreter(), lldbassert, m_subcommand_dict, and string().
Referenced by lldb_private::CommandObjectBreakpointCommand::CommandObjectBreakpointCommand(), lldb_private::CommandObjectLog::CommandObjectLog(), lldb_private::CommandObjectMemory::CommandObjectMemory(), lldb_private::CommandObjectMemoryTag::CommandObjectMemoryTag(), lldb_private::CommandObjectMultiwordBreakpoint::CommandObjectMultiwordBreakpoint(), lldb_private::CommandObjectMultiwordCommands::CommandObjectMultiwordCommands(), lldb_private::CommandObjectMultiwordFrame::CommandObjectMultiwordFrame(), lldb_private::CommandObjectMultiwordProcess::CommandObjectMultiwordProcess(), CommandObjectMultiwordProcessKDP::CommandObjectMultiwordProcessKDP(), lldb_private::CommandObjectMultiwordSettings::CommandObjectMultiwordSettings(), lldb_private::CommandObjectMultiwordSource::CommandObjectMultiwordSource(), lldb_private::CommandObjectMultiwordTarget::CommandObjectMultiwordTarget(), lldb_private::CommandObjectMultiwordThread::CommandObjectMultiwordThread(), lldb_private::CommandObjectMultiwordWatchpoint::CommandObjectMultiwordWatchpoint(), lldb_private::CommandObjectPlatform::CommandObjectPlatform(), lldb_private::CommandObjectPlugin::CommandObjectPlugin(), CommandObjectProcessKDPPacket::CommandObjectProcessKDPPacket(), lldb_private::CommandObjectRegister::CommandObjectRegister(), lldb_private::CommandObjectReproducer::CommandObjectReproducer(), lldb_private::CommandObjectSession::CommandObjectSession(), lldb_private::CommandObjectStats::CommandObjectStats(), lldb_private::CommandObjectTrace::CommandObjectTrace(), and lldb_private::CommandObjectWatchpointCommand::CommandObjectWatchpointCommand().
|
overridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 98 of file CommandObjectMultiword.cpp.
References lldb_private::CommandObject::GetCommandInterpreter(), lldb_private::CommandObject::IsUserCommand(), lldbassert, m_subcommand_dict, and string().
llvm::Error CommandObjectMultiword::RemoveUserSubcommand | ( | llvm::StringRef | cmd_name, |
bool | multiword_okay | ||
) |
Definition at line 132 of file CommandObjectMultiword.cpp.
References m_subcommand_dict, and string().
Referenced by CommandObjectCommandsScriptDelete::DoExecute().
|
inline |
Definition at line 65 of file CommandObjectMultiword.h.
References m_can_be_removed.
Referenced by lldb::SBCommand::AddMultiwordCommand().
|
inlineoverridevirtual |
Implements lldb_private::CommandObject.
Definition at line 54 of file CommandObjectMultiword.h.
|
friend |
Definition at line 21 of file CommandObjectMultiword.h.
|
friend |
Definition at line 22 of file CommandObjectMultiword.h.
|
protected |
Definition at line 73 of file CommandObjectMultiword.h.
Referenced by IsRemovable(), and SetRemovable().
|
protected |
Definition at line 72 of file CommandObjectMultiword.h.
Referenced by Execute(), GenerateHelpText(), GetSubcommandDictionary(), GetSubcommandSP(), GetSubcommandSPExact(), HandleCompletion(), LoadSubCommand(), LoadUserSubcommand(), and RemoveUserSubcommand().