LLDB mainline
lldb_private::CommandObjectRegexCommand Class Reference

#include <CommandObjectRegexCommand.h>

Inheritance diagram for lldb_private::CommandObjectRegexCommand:
[legend]

Classes

struct  Entry

Public Member Functions

 CommandObjectRegexCommand (CommandInterpreter &interpreter, llvm::StringRef name, llvm::StringRef help, llvm::StringRef syntax, uint32_t completion_type_mask, bool is_removable)
 ~CommandObjectRegexCommand () override
bool IsRemovable () const override
bool AddRegexCommand (llvm::StringRef re_cstr, llvm::StringRef command_cstr)
bool HasRegexEntries () const
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.
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
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 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 ()
virtual OptionsGetOptions ()
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 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)
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.

Protected Types

typedef std::list< EntryEntryCollection

Protected Member Functions

void DoExecute (llvm::StringRef command, CommandReturnObject &result) override
Protected Member Functions inherited from lldb_private::CommandObjectRaw
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 ()

Static Protected Member Functions

static llvm::Expected< std::string > SubstituteVariables (llvm::StringRef input, const llvm::SmallVectorImpl< llvm::StringRef > &replacements)
 Substitute variables of the format %\d+ in the input string.

Protected Attributes

const uint32_t m_completion_type_mask
EntryCollection m_entries
bool m_is_removable
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

Private Member Functions

 CommandObjectRegexCommand (const CommandObjectRegexCommand &)=delete
const CommandObjectRegexCommandoperator= (const CommandObjectRegexCommand &)=delete

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
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 22 of file CommandObjectRegexCommand.h.

Member Typedef Documentation

◆ EntryCollection

Definition at line 52 of file CommandObjectRegexCommand.h.

Constructor & Destructor Documentation

◆ CommandObjectRegexCommand() [1/2]

CommandObjectRegexCommand::CommandObjectRegexCommand ( CommandInterpreter & interpreter,
llvm::StringRef name,
llvm::StringRef help,
llvm::StringRef syntax,
uint32_t completion_type_mask,
bool is_removable )

◆ ~CommandObjectRegexCommand()

CommandObjectRegexCommand::~CommandObjectRegexCommand ( )
overridedefault

◆ CommandObjectRegexCommand() [2/2]

lldb_private::CommandObjectRegexCommand::CommandObjectRegexCommand ( const CommandObjectRegexCommand & )
privatedelete

Member Function Documentation

◆ AddRegexCommand()

bool CommandObjectRegexCommand::AddRegexCommand ( llvm::StringRef re_cstr,
llvm::StringRef command_cstr )

Definition at line 91 of file CommandObjectRegexCommand.cpp.

References m_entries, and lldb_private::RegularExpression.

◆ DoExecute()

◆ HandleCompletion()

void CommandObjectRegexCommand::HandleCompletion ( CompletionRequest & request)
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.

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

Reimplemented from lldb_private::CommandObject.

Definition at line 105 of file CommandObjectRegexCommand.cpp.

References lldb_private::CommandObject::GetCommandInterpreter(), lldb_private::CommandCompletions::InvokeCommonCompletionCallbacks(), and m_completion_type_mask.

◆ HasRegexEntries()

bool lldb_private::CommandObjectRegexCommand::HasRegexEntries ( ) const
inline

Definition at line 35 of file CommandObjectRegexCommand.h.

References m_entries.

◆ IsRemovable()

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

Reimplemented from lldb_private::CommandObject.

Definition at line 31 of file CommandObjectRegexCommand.h.

References m_is_removable.

◆ operator=()

const CommandObjectRegexCommand & lldb_private::CommandObjectRegexCommand::operator= ( const CommandObjectRegexCommand & )
privatedelete

◆ SubstituteVariables()

llvm::Expected< std::string > CommandObjectRegexCommand::SubstituteVariables ( llvm::StringRef input,
const llvm::SmallVectorImpl< llvm::StringRef > & replacements )
staticprotected

Substitute variables of the format %\d+ in the input string.

Definition at line 30 of file CommandObjectRegexCommand.cpp.

Referenced by DoExecute().

Member Data Documentation

◆ m_completion_type_mask

const uint32_t lldb_private::CommandObjectRegexCommand::m_completion_type_mask
protected

Definition at line 53 of file CommandObjectRegexCommand.h.

Referenced by CommandObjectRegexCommand(), and HandleCompletion().

◆ m_entries

EntryCollection lldb_private::CommandObjectRegexCommand::m_entries
protected

Definition at line 54 of file CommandObjectRegexCommand.h.

Referenced by AddRegexCommand(), DoExecute(), and HasRegexEntries().

◆ m_is_removable

bool lldb_private::CommandObjectRegexCommand::m_is_removable
protected

Definition at line 55 of file CommandObjectRegexCommand.h.

Referenced by CommandObjectRegexCommand(), and IsRemovable().


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