LLDB mainline
|
This class implements a "raw" scripted command. More...
Public Member Functions | |
CommandObjectScriptingObjectRaw (CommandInterpreter &interpreter, std::string name, StructuredData::GenericSP cmd_obj_sp, ScriptedCommandSynchronicity synch, CompletionType completion_type) | |
~CommandObjectScriptingObjectRaw () override=default | |
void | HandleArgumentCompletion (CompletionRequest &request, OptionElementVector &opt_element_vector) override |
The default version handles argument definitions that have only one argument type, and use one of the argument types that have an entry in the CommonCompletions. | |
bool | WantsCompletion () override |
bool | IsRemovable () const override |
ScriptedCommandSynchronicity | GetSynchronicity () |
std::optional< std::string > | GetRepeatCommand (Args &args, uint32_t index) override |
Get the command that appropriate for a "repeat" of the current command. | |
llvm::StringRef | GetHelp () override |
llvm::StringRef | GetHelpLong () override |
Public Member Functions inherited from lldb_private::CommandObjectRaw | |
CommandObjectRaw (CommandInterpreter &interpreter, llvm::StringRef name, llvm::StringRef help="", llvm::StringRef syntax="", uint32_t flags=0) | |
~CommandObjectRaw () override=default | |
void | Execute (const char *args_string, CommandReturnObject &result) override |
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 ()=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) |
virtual bool | IsRemovable () const |
virtual bool | IsMultiwordObject () |
bool | IsUserCommand () |
void | SetIsUserCommand (bool is_user) |
virtual CommandObjectMultiword * | GetAsMultiwordCommand () |
virtual bool | IsAlias () |
virtual bool | IsDashDashCommand () |
virtual lldb::CommandObjectSP | GetSubcommandSP (llvm::StringRef sub_cmd, StringList *matches=nullptr) |
virtual lldb::CommandObjectSP | GetSubcommandSPExact (llvm::StringRef sub_cmd) |
virtual CommandObject * | GetSubcommandObject (llvm::StringRef sub_cmd, StringList *matches=nullptr) |
void | FormatLongHelpText (Stream &output_strm, llvm::StringRef long_help) |
void | GenerateHelpText (CommandReturnObject &result) |
virtual void | GenerateHelpText (Stream &result) |
virtual bool | LoadSubCommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj) |
virtual llvm::Error | LoadUserSubcommand (llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj, bool can_replace) |
virtual bool | WantsRawCommandString ()=0 |
virtual bool | WantsCompletion () |
virtual Options * | GetOptions () |
void | AddSimpleArgumentList (lldb::CommandArgumentType arg_type, ArgumentRepetitionType repetition_type=eArgRepeatPlain) |
void | AddIDsArgumentData (IDType type) |
int | GetNumArgumentEntries () |
CommandArgumentEntry * | GetArgumentEntryAtIndex (int idx) |
void | GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask=LLDB_OPT_SET_ALL) |
bool | ParseOptions (Args &args, CommandReturnObject &result) |
void | SetCommandName (llvm::StringRef name) |
virtual void | HandleCompletion (CompletionRequest &request) |
This default version handles calling option argument completions and then calls HandleArgumentCompletion if the cursor is on an argument, not an option. | |
virtual void | HandleArgumentCompletion (CompletionRequest &request, OptionElementVector &opt_element_vector) |
The default version handles argument definitions that have only one argument type, and use one of the argument types that have an entry in the CommonCompletions. | |
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. | |
const Flags & | GetFlags () const |
The flags const accessor. | |
virtual std::optional< std::string > | GetRepeatCommand (Args ¤t_command_args, uint32_t index) |
Get the command that appropriate for a "repeat" of the current command. | |
bool | HasOverrideCallback () const |
void | SetOverrideCallback (lldb::CommandOverrideCallback callback, void *baton) |
void | SetOverrideCallback (lldb_private::CommandOverrideCallbackWithResult callback, void *baton) |
bool | InvokeOverrideCallback (const char **argv, CommandReturnObject &result) |
virtual void | Execute (const char *args_string, CommandReturnObject &result)=0 |
Protected Member Functions | |
void | DoExecute (llvm::StringRef raw_command_line, CommandReturnObject &result) override |
Protected Member Functions inherited from lldb_private::CommandObjectRaw | |
virtual void | DoExecute (llvm::StringRef command, CommandReturnObject &result)=0 |
bool | WantsRawCommandString () override |
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 () |
Target & | GetDummyTarget () |
Target & | GetTarget () |
Thread * | GetDefaultThread () |
bool | CheckRequirements (CommandReturnObject &result) |
Check the command to make sure anything required by this command is available. | |
void | Cleanup () |
Private Attributes | |
StructuredData::GenericSP | m_cmd_obj_sp |
ScriptedCommandSynchronicity | m_synchro |
bool | m_fetched_help_short: 1 |
bool | m_fetched_help_long: 1 |
CompletionType | m_completion_type = eNoCompletion |
This class implements a "raw" scripted command.
lldb does no parsing of the command line, instead passing the line unaltered (except for backtick substitution).
Definition at line 1119 of file CommandObjectCommands.cpp.
|
inline |
|
overridedefault |
|
inlineoverrideprotectedvirtual |
Implements lldb_private::CommandObjectRaw.
Definition at line 1192 of file CommandObjectCommands.cpp.
References lldb_private::CommandReturnObject::AppendError(), lldb::eReturnStatusInvalid, lldb::eReturnStatusSuccessFinishNoResult, lldb::eReturnStatusSuccessFinishResult, error(), lldb_private::CommandObject::GetDebugger(), lldb_private::CommandReturnObject::GetOutputData(), lldb_private::Debugger::GetScriptInterpreter(), lldb_private::CommandReturnObject::GetStatus(), m_cmd_obj_sp, lldb_private::CommandObject::m_exe_ctx, m_synchro, lldb_private::ScriptInterpreter::RunScriptBasedCommand(), and lldb_private::CommandReturnObject::SetStatus().
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 1160 of file CommandObjectCommands.cpp.
References lldb_private::CommandObject::GetDebugger(), lldb_private::Debugger::GetScriptInterpreter(), lldb_private::ScriptInterpreter::GetShortHelpForCommandObject(), m_cmd_obj_sp, m_fetched_help_short, and lldb_private::CommandObject::SetHelp().
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 1175 of file CommandObjectCommands.cpp.
References lldb_private::CommandObject::GetDebugger(), lldb_private::ScriptInterpreter::GetLongHelpForCommandObject(), lldb_private::Debugger::GetScriptInterpreter(), m_cmd_obj_sp, m_fetched_help_long, and lldb_private::CommandObject::SetHelpLong().
|
inlineoverridevirtual |
Get the command that appropriate for a "repeat" of the current command.
[in] | current_command_args | The command arguments. |
[in] | index | This is for internal use - it is how the completion request is tracked in CommandObjectMultiword, and should otherwise be ignored. |
Reimplemented from lldb_private::CommandObject.
Definition at line 1151 of file CommandObjectCommands.cpp.
References lldb_private::CommandObject::GetDebugger(), lldb_private::ScriptInterpreter::GetRepeatCommandForScriptedCommand(), lldb_private::Debugger::GetScriptInterpreter(), and m_cmd_obj_sp.
|
inline |
Definition at line 1149 of file CommandObjectCommands.cpp.
References m_synchro.
|
inlineoverridevirtual |
The default version handles argument definitions that have only one argument type, and use one of the argument types that have an entry in the CommonCompletions.
Override this if you have a more complex argument setup. FIXME: we should be able to extend this to more complex argument definitions provided we have completers for all the argument types.
The input array contains a parsed version of the line.
We've constructed the map of options and their arguments as well if that is helpful for the completion.
[in,out] | request | The completion request that needs to be answered. |
Reimplemented from lldb_private::CommandObject.
Definition at line 1139 of file CommandObjectCommands.cpp.
References lldb_private::CommandObject::GetCommandInterpreter(), lldb_private::CommandCompletions::InvokeCommonCompletionCallbacks(), and m_completion_type.
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 1147 of file CommandObjectCommands.cpp.
|
inlineoverridevirtual |
Reimplemented from lldb_private::CommandObject.
Definition at line 1145 of file CommandObjectCommands.cpp.
|
private |
Definition at line 1216 of file CommandObjectCommands.cpp.
Referenced by DoExecute(), GetHelp(), GetHelpLong(), and GetRepeatCommand().
|
private |
Definition at line 1220 of file CommandObjectCommands.cpp.
Referenced by HandleArgumentCompletion().
|
private |
Definition at line 1219 of file CommandObjectCommands.cpp.
Referenced by GetHelpLong().
|
private |
Definition at line 1218 of file CommandObjectCommands.cpp.
Referenced by GetHelp().
|
private |
Definition at line 1217 of file CommandObjectCommands.cpp.
Referenced by DoExecute(), and GetSynchronicity().