LLDB  mainline
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
lldb_private::CommandObjectMultiword Class Reference

#include <CommandObjectMultiword.h>

Inherits lldb_private::CommandObject.

Inherited by CommandObjectBreakpointName, CommandObjectFrameRecognizer, CommandObjectMultiwordCommandsScript, CommandObjectMultiwordItaniumABI, CommandObjectMultiwordObjC, CommandObjectMultiwordObjC_ClassTable, CommandObjectMultiwordObjC_TaggedPointer, CommandObjectMultiwordProcessGDBRemote, CommandObjectMultiwordProcessKDP, CommandObjectMultiwordProcessMinidump, CommandObjectMultiwordTargetStopHooks, CommandObjectMultiwordThreadPlan, CommandObjectPlatformFile, CommandObjectPlatformProcess, CommandObjectProcessGDBRemotePacket, CommandObjectProcessKDPPacket, CommandObjectRenderScriptRuntime, CommandObjectRenderScriptRuntimeAllocation, CommandObjectRenderScriptRuntimeContext, CommandObjectRenderScriptRuntimeKernel, CommandObjectRenderScriptRuntimeKernelBreakpoint, CommandObjectRenderScriptRuntimeModule, CommandObjectRenderScriptRuntimeReduction, CommandObjectRenderScriptRuntimeReductionBreakpoint, CommandObjectRenderScriptScriptGroup, CommandObjectRenderScriptScriptGroupBreakpoint, CommandObjectTargetModules, CommandObjectTargetModulesDump, CommandObjectTargetModulesImageSearchPaths, CommandObjectTargetSymbols, CommandObjectTypeCategory, CommandObjectTypeFilter, CommandObjectTypeFormat, CommandObjectTypeSummary, CommandObjectTypeSynth, CommandObjectWatchpointSet, lldb_private::CommandObjectBreakpointCommand, lldb_private::CommandObjectLanguage, lldb_private::CommandObjectLog, lldb_private::CommandObjectMemory, lldb_private::CommandObjectMultiwordBreakpoint, lldb_private::CommandObjectMultiwordBugreport, 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::CommandObjectStats, lldb_private::CommandObjectType, lldb_private::CommandObjectWatchpointCommand, and sddarwinlog_private::BaseCommand.

Collaboration diagram for lldb_private::CommandObjectMultiword:
Collaboration graph
[legend]

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
 
CommandObjectMultiwordGetAsMultiwordCommand () override
 
bool LoadSubCommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj) override
 
void GenerateHelpText (Stream &output_stream) override
 
lldb::CommandObjectSP GetSubcommandSP (llvm::StringRef sub_cmd, StringList *matches=nullptr) override
 
CommandObjectGetSubcommandObject (llvm::StringRef sub_cmd, StringList *matches=nullptr) override
 
void AproposAllSubCommands (llvm::StringRef prefix, llvm::StringRef search_word, StringList &commands_found, StringList &commands_help) override
 
bool WantsRawCommandString () override
 
int 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...
 
const char * GetRepeatCommand (Args &current_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)
 
- Public Member Functions inherited from lldb_private::CommandObject
 CommandObject (CommandInterpreter &interpreter, llvm::StringRef name, llvm::StringRef help="", llvm::StringRef syntax="", uint32_t flags=0)
 
virtual ~CommandObject ()
 
CommandInterpreterGetCommandInterpreter ()
 
DebuggerGetDebugger ()
 
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)
 
virtual bool IsAlias ()
 
virtual bool IsDashDashCommand ()
 
void FormatLongHelpText (Stream &output_strm, llvm::StringRef long_help)
 
void GenerateHelpText (CommandReturnObject &result)
 
virtual bool WantsCompletion ()
 
virtual OptionsGetOptions ()
 
int GetNumArgumentEntries ()
 
CommandArgumentEntryGetArgumentEntryAtIndex (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 int 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)
 
FlagsGetFlags ()
 The flags accessor. More...
 
const FlagsGetFlags () 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::CommandMapGetSubcommandDictionary ()
 
- Protected Member Functions inherited from lldb_private::CommandObject
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 ()
 
TargetGetSelectedOrDummyTarget (bool prefer_dummy=false)
 
TargetGetDummyTarget ()
 
ThreadGetDefaultThread ()
 
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
 
- Protected Attributes inherited from lldb_private::CommandObject
CommandInterpreterm_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< CommandArgumentEntrym_arguments
 
lldb::CommandOverrideCallback m_deprecated_command_override_callback
 
lldb::CommandOverrideCallbackWithResult m_command_override_callback
 
void * m_command_override_baton
 

Friends

class CommandInterpreter
 
class CommandObjectSyntax
 

Additional Inherited Members

- Public Types inherited from lldb_private::CommandObject
typedef llvm::StringRef() ArgumentHelpCallbackFunction()
 
typedef std::vector< CommandArgumentDataCommandArgumentEntry
 
typedef std::map< std::string, lldb::CommandObjectSP > CommandMap
 
- Static Public Member Functions inherited from lldb_private::CommandObject
static const char * GetArgumentTypeAsCString (const lldb::CommandArgumentType arg_type)
 
static const char * GetArgumentDescriptionAsCString (const lldb::CommandArgumentType arg_type)
 
static const ArgumentTableEntryGetArgumentTable ()
 
static lldb::CommandArgumentType LookupArgumentName (llvm::StringRef arg_name)
 
static const ArgumentTableEntryFindArgumentDataByType (lldb::CommandArgumentType arg_type)
 
static void GetArgumentHelp (Stream &str, lldb::CommandArgumentType arg_type, CommandInterpreter &interpreter)
 
static const char * GetArgumentName (lldb::CommandArgumentType arg_type)
 
- Static Public Attributes inherited from lldb_private::CommandObject
static ArgumentTableEntry g_arguments_data [lldb::eArgTypeLastArg]
 
- Static Protected Member Functions inherited from lldb_private::CommandObject
static void AddIDsArgumentData (CommandArgumentEntry &arg, lldb::CommandArgumentType ID, lldb::CommandArgumentType IDRange)
 

Detailed Description

Definition at line 19 of file CommandObjectMultiword.h.

Constructor & Destructor Documentation

◆ CommandObjectMultiword()

CommandObjectMultiword::CommandObjectMultiword ( CommandInterpreter interpreter,
const char *  name,
const char *  help = nullptr,
const char *  syntax = nullptr,
uint32_t  flags = 0 
)

Definition at line 20 of file CommandObjectMultiword.cpp.

References ~CommandObjectMultiword().

◆ ~CommandObjectMultiword()

CommandObjectMultiword::~CommandObjectMultiword ( )
overridedefault

Referenced by CommandObjectMultiword().

Member Function Documentation

◆ AproposAllSubCommands()

void CommandObjectMultiword::AproposAllSubCommands ( llvm::StringRef  prefix,
llvm::StringRef  search_word,
StringList commands_found,
StringList commands_help 
)
overridevirtual

◆ Execute()

bool CommandObjectMultiword::Execute ( const char *  args_string,
CommandReturnObject result 
)
overridevirtual

◆ GenerateHelpText()

void CommandObjectMultiword::GenerateHelpText ( Stream output_stream)
overridevirtual

◆ GetAsMultiwordCommand()

CommandObjectMultiword* lldb_private::CommandObjectMultiword::GetAsMultiwordCommand ( )
inlineoverridevirtual

◆ GetRepeatCommand()

const char * CommandObjectMultiword::GetRepeatCommand ( Args current_command_args,
uint32_t  index 
)
overridevirtual

Get the command that appropriate for a "repeat" of the current command.

Parameters
[in]current_command_lineThe complete current command line.
Returns
nullptr if there is no special repeat command - it will use the current command line. Otherwise a pointer to the command to be repeated. If the returned string is the empty string, the command won't be repeated.

Reimplemented from lldb_private::CommandObject.

Definition at line 228 of file CommandObjectMultiword.cpp.

References lldb_private::Args::GetArgumentCount(), lldb_private::CommandObject::GetRepeatCommand(), and GetSubcommandObject().

Referenced by WantsRawCommandString().

◆ GetSubcommandDictionary()

CommandObject::CommandMap& lldb_private::CommandObjectMultiword::GetSubcommandDictionary ( )
inlineprotected

◆ GetSubcommandObject()

CommandObject * CommandObjectMultiword::GetSubcommandObject ( llvm::StringRef  sub_cmd,
StringList matches = nullptr 
)
overridevirtual

◆ GetSubcommandSP()

CommandObjectSP CommandObjectMultiword::GetSubcommandSP ( llvm::StringRef  sub_cmd,
StringList matches = nullptr 
)
overridevirtual

◆ HandleCompletion()

int CommandObjectMultiword::HandleCompletion ( CompletionRequest request)
overridevirtual

◆ IsMultiwordObject()

bool lldb_private::CommandObjectMultiword::IsMultiwordObject ( )
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 31 of file CommandObjectMultiword.h.

◆ IsRemovable()

bool lldb_private::CommandObjectMultiword::IsRemovable ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 60 of file CommandObjectMultiword.h.

References m_can_be_removed.

◆ LoadSubCommand()

bool CommandObjectMultiword::LoadSubCommand ( llvm::StringRef  cmd_name,
const lldb::CommandObjectSP &  command_obj 
)
overridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 69 of file CommandObjectMultiword.cpp.

References lldb_private::CommandObject::GetCommandInterpreter(), and m_subcommand_dict.

Referenced by lldb_private::CommandObjectBreakpointCommand::CommandObjectBreakpointCommand(), lldb_private::CommandObjectLog::CommandObjectLog(), lldb_private::CommandObjectMemory::CommandObjectMemory(), lldb_private::CommandObjectMultiwordBreakpoint::CommandObjectMultiwordBreakpoint(), lldb_private::CommandObjectMultiwordBugreport::CommandObjectMultiwordBugreport(), lldb_private::CommandObjectMultiwordCommands::CommandObjectMultiwordCommands(), lldb_private::CommandObjectMultiwordFrame::CommandObjectMultiwordFrame(), lldb_private::CommandObjectMultiwordProcess::CommandObjectMultiwordProcess(), 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(), lldb_private::CommandObjectRegister::CommandObjectRegister(), lldb_private::CommandObjectReproducer::CommandObjectReproducer(), lldb_private::CommandObjectStats::CommandObjectStats(), lldb_private::CommandObjectWatchpointCommand::CommandObjectWatchpointCommand(), and GetAsMultiwordCommand().

◆ SetRemovable()

void lldb_private::CommandObjectMultiword::SetRemovable ( bool  removable)
inline

◆ WantsRawCommandString()

bool lldb_private::CommandObjectMultiword::WantsRawCommandString ( )
inlineoverridevirtual

Friends And Related Function Documentation

◆ CommandInterpreter

friend class CommandInterpreter
friend

Definition at line 21 of file CommandObjectMultiword.h.

◆ CommandObjectSyntax

friend class CommandObjectSyntax
friend

Definition at line 22 of file CommandObjectMultiword.h.

Member Data Documentation

◆ m_can_be_removed

bool lldb_private::CommandObjectMultiword::m_can_be_removed
protected

Definition at line 70 of file CommandObjectMultiword.h.

Referenced by IsRemovable(), and SetRemovable().

◆ m_subcommand_dict

CommandObject::CommandMap lldb_private::CommandObjectMultiword::m_subcommand_dict
protected

The documentation for this class was generated from the following files: