LLDB mainline
CommandObjectCommandsScriptAdd Class Reference
Inheritance diagram for CommandObjectCommandsScriptAdd:
[legend]

Classes

class  CommandOptions

Public Member Functions

 CommandObjectCommandsScriptAdd (CommandInterpreter &interpreter)
 ~CommandObjectCommandsScriptAdd () override=default
OptionsGetOptions () override
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.
Public Member Functions inherited from lldb_private::CommandObjectParsed
 CommandObjectParsed (CommandInterpreter &interpreter, const char *name, const char *help=nullptr, const char *syntax=nullptr, uint32_t flags=0)
 ~CommandObjectParsed () 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
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 IsRemovable () const
virtual bool IsMultiwordObject ()
bool IsUserCommand ()
void SetIsUserCommand (bool is_user)
virtual CommandObjectMultiwordGetAsMultiwordCommand ()
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 CommandObjectGetSubcommandObject (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 WantsCompletion ()
void AddSimpleArgumentList (lldb::CommandArgumentType arg_type, ArgumentRepetitionType repetition_type=eArgRepeatPlain)
void AddIDsArgumentData (IDType type)
int GetNumArgumentEntries ()
CommandArgumentEntryGetArgumentEntryAtIndex (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.
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.
const FlagsGetFlags () const
 The flags const accessor.
virtual std::optional< std::string > GetRepeatCommand (Args &current_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)
void SetOriginalCommandString (std::string s)
 Set the command input as it appeared in the terminal.
Public Member Functions inherited from lldb_private::IOHandlerDelegateMultiline
 IOHandlerDelegateMultiline (llvm::StringRef end_line, Completion completion=Completion::None)
 ~IOHandlerDelegateMultiline () override=default
llvm::StringRef IOHandlerGetControlSequence (char ch) override
bool IOHandlerIsInputComplete (IOHandler &io_handler, StringList &lines) override
 Called to determine whether typing enter after the last line in lines should end input.
Public Member Functions inherited from lldb_private::IOHandlerDelegate
 IOHandlerDelegate (Completion completion=Completion::None)
virtual ~IOHandlerDelegate ()=default
virtual void IOHandlerDeactivated (IOHandler &io_handler)
virtual std::optional< std::string > IOHandlerSuggestion (IOHandler &io_handler, llvm::StringRef line)
virtual void IOHandlerComplete (IOHandler &io_handler, CompletionRequest &request)
virtual const char * IOHandlerGetFixIndentationCharacters ()
virtual int IOHandlerFixIndentation (IOHandler &io_handler, const StringList &lines, int cursor_position)
 Called when a new line is created or one of an identified set of indentation characters is typed.
virtual void IOHandlerInputInterrupted (IOHandler &io_handler, std::string &data)
virtual const char * IOHandlerGetCommandPrefix ()
virtual const char * IOHandlerGetHelpPrologue ()
virtual bool IOHandlerInterrupt (IOHandler &io_handler)

Protected Member Functions

void IOHandlerActivated (IOHandler &io_handler, bool interactive) override
void IOHandlerInputComplete (IOHandler &io_handler, std::string &data) override
 Called when a line or lines have been retrieved.
void DoExecute (Args &command, CommandReturnObject &result) override
Protected Member Functions inherited from lldb_private::CommandObjectParsed
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 ()
TargetGetDummyTarget ()
TargetGetTarget ()
ThreadGetDefaultThread ()
bool CheckRequirements (CommandReturnObject &result)
 Check the command to make sure anything required by this command is available.
void Cleanup ()

Protected Attributes

CommandOptions m_options
std::string m_cmd_name
CommandObjectMultiwordm_container = nullptr
std::string m_short_help
bool m_overwrite = false
ScriptedCommandSynchronicity m_synchronicity
CompletionType m_completion_type = eNoCompletion
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
std::string m_original_command
Flags m_flags
std::vector< CommandArgumentEntrym_arguments
lldb::CommandOverrideCallback m_deprecated_command_override_callback
lldb_private::CommandOverrideCallbackWithResult m_command_override_callback
void * m_command_override_baton
bool m_is_user_command = false
Protected Attributes inherited from lldb_private::IOHandlerDelegateMultiline
const std::string m_end_line
Protected Attributes inherited from lldb_private::IOHandlerDelegate
Completion m_completion

Additional Inherited Members

Public Types inherited from lldb_private::CommandObject
enum  IDType { eBreakpointArgs = 0 , eWatchpointArgs = 1 }
typedef llvm::StringRef ArgumentHelpCallbackFunction()
typedef std::vector< CommandArgumentDataCommandArgumentEntry
typedef std::map< std::string, lldb::CommandObjectSP, std::less<> > CommandMap
Public Types inherited from lldb_private::IOHandlerDelegate
enum class  Completion { None , LLDBCommand , Expression }
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 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 bool IsPairType (ArgumentRepetitionType arg_repeat_type)
static std::optional< ArgumentRepetitionTypeArgRepetitionFromString (llvm::StringRef string)

Detailed Description

Definition at line 2269 of file CommandObjectCommands.cpp.

Constructor & Destructor Documentation

◆ CommandObjectCommandsScriptAdd()

◆ ~CommandObjectCommandsScriptAdd()

CommandObjectCommandsScriptAdd::~CommandObjectCommandsScriptAdd ( )
overridedefault

Member Function Documentation

◆ DoExecute()

◆ GetOptions()

Options * CommandObjectCommandsScriptAdd::GetOptions ( )
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 2288 of file CommandObjectCommands.cpp.

References m_options.

◆ HandleArgumentCompletion()

void CommandObjectCommandsScriptAdd::HandleArgumentCompletion ( CompletionRequest & request,
OptionElementVector & opt_element_vector )
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.

Parameters
[in,out]requestThe completion request that needs to be answered.

Reimplemented from lldb_private::CommandObject.

Definition at line 2291 of file CommandObjectCommands.cpp.

References lldb_private::CommandCompletions::CompleteModifiableCmdPathArgs(), and lldb_private::CommandObject::m_interpreter.

◆ IOHandlerActivated()

void CommandObjectCommandsScriptAdd::IOHandlerActivated ( IOHandler & io_handler,
bool interactive )
inlineoverrideprotectedvirtual

◆ IOHandlerInputComplete()

void CommandObjectCommandsScriptAdd::IOHandlerInputComplete ( IOHandler & io_handler,
std::string & data )
inlineoverrideprotectedvirtual

Called when a line or lines have been retrieved.

This function can handle the current line and possibly call IOHandler::SetIsDone(true) when the IO handler is done like when "quit" is entered as a command, of when an empty line is received. It is up to the delegate to determine when a line should cause a IOHandler to exit.

Implements lldb_private::IOHandlerDelegate.

Definition at line 2392 of file CommandObjectCommands.cpp.

References error(), lldb_private::ScriptInterpreter::GenerateScriptAliasFunction(), lldb_private::CommandObject::GetDebugger(), lldb_private::IOHandler::GetErrorStreamFileSP(), lldb_private::Debugger::GetScriptInterpreter(), lldb_private::StringList::GetSize(), m_cmd_name, m_completion_type, m_container, lldb_private::CommandObject::m_interpreter, m_overwrite, m_short_help, m_synchronicity, lldb_private::Stream::Printf(), lldb_private::IOHandler::SetIsDone(), and lldb_private::StringList::SplitIntoLines().

Member Data Documentation

◆ m_cmd_name

std::string CommandObjectCommandsScriptAdd::m_cmd_name
protected

Definition at line 2556 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and IOHandlerInputComplete().

◆ m_completion_type

CompletionType CommandObjectCommandsScriptAdd::m_completion_type = eNoCompletion
protected

Definition at line 2562 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and IOHandlerInputComplete().

◆ m_container

CommandObjectMultiword* CommandObjectCommandsScriptAdd::m_container = nullptr
protected

Definition at line 2557 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and IOHandlerInputComplete().

◆ m_options

CommandOptions CommandObjectCommandsScriptAdd::m_options
protected

Definition at line 2555 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and GetOptions().

◆ m_overwrite

bool CommandObjectCommandsScriptAdd::m_overwrite = false
protected

Definition at line 2559 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and IOHandlerInputComplete().

◆ m_short_help

std::string CommandObjectCommandsScriptAdd::m_short_help
protected

Definition at line 2558 of file CommandObjectCommands.cpp.

Referenced by DoExecute(), and IOHandlerInputComplete().

◆ m_synchronicity

ScriptedCommandSynchronicity CommandObjectCommandsScriptAdd::m_synchronicity
protected

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