LLDB mainline
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
CommandObjectTypeSynthAdd Class Reference
Inheritance diagram for CommandObjectTypeSynthAdd:
Inheritance graph


class  CommandOptions

Public Member Functions

 CommandObjectTypeSynthAdd (CommandInterpreter &interpreter)
 ~CommandObjectTypeSynthAdd () override=default
bool AddSynth (ConstString type_name, lldb::SyntheticChildrenSP entry, FormatterMatchType match_type, std::string category_name, Status *error)
- 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 WantsRawCommandString ()=0
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 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)
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)
virtual void Execute (const char *args_string, CommandReturnObject &result)=0
- 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 IOHandlerActivated (IOHandler &io_handler, bool interactive)
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 IOHandlerInputComplete (IOHandler &io_handler, std::string &data)=0
 Called when a line or lines have been retrieved.
virtual void IOHandlerInputInterrupted (IOHandler &io_handler, std::string &data)
virtual bool IOHandlerIsInputComplete (IOHandler &io_handler, StringList &lines)
 Called to determine whether typing enter after the last line in lines should end input.
virtual llvm::StringRef IOHandlerGetControlSequence (char ch)
virtual const char * IOHandlerGetCommandPrefix ()
virtual const char * IOHandlerGetHelpPrologue ()
virtual bool IOHandlerInterrupt (IOHandler &io_handler)

Protected Member Functions

void DoExecute (Args &command, CommandReturnObject &result) override
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.
- Protected Member Functions inherited from lldb_private::CommandObjectParsed
virtual void DoExecute (Args &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 ()
TargetGetSelectedOrDummyTarget (bool prefer_dummy=false)
TargetGetSelectedTarget ()
TargetGetDummyTarget ()
ThreadGetDefaultThread ()
bool CheckRequirements (CommandReturnObject &result)
 Check the command to make sure anything required by this command is available.
void Cleanup ()

Private Member Functions

OptionsGetOptions () override
bool Execute_HandwritePython (Args &command, CommandReturnObject &result)
bool Execute_PythonClass (Args &command, CommandReturnObject &result)

Private Attributes

CommandOptions m_options

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::CommandObjectSPCommandMap
- 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)
- Protected Attributes inherited from lldb_private::CommandObject
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_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

Detailed Description

Definition at line 296 of file CommandObjectType.cpp.

Constructor & Destructor Documentation

◆ CommandObjectTypeSynthAdd()

CommandObjectTypeSynthAdd::CommandObjectTypeSynthAdd ( CommandInterpreter interpreter)

Definition at line 2130 of file CommandObjectType.cpp.

◆ ~CommandObjectTypeSynthAdd()

CommandObjectTypeSynthAdd::~CommandObjectTypeSynthAdd ( )

Member Function Documentation

◆ AddSynth()

bool CommandObjectTypeSynthAdd::AddSynth ( ConstString  type_name,
lldb::SyntheticChildrenSP  entry,
FormatterMatchType  match_type,
std::string  category_name,
Status error 

◆ DoExecute()

void CommandObjectTypeSynthAdd::DoExecute ( Args command,
CommandReturnObject result 

◆ Execute_HandwritePython()

bool CommandObjectTypeSynthAdd::Execute_HandwritePython ( Args command,
CommandReturnObject result 

Definition at line 2045 of file CommandObjectType.cpp.

Referenced by DoExecute().

◆ Execute_PythonClass()

bool CommandObjectTypeSynthAdd::Execute_PythonClass ( Args command,
CommandReturnObject result 

◆ GetOptions()

Options * CommandObjectTypeSynthAdd::GetOptions ( )

Reimplemented from lldb_private::CommandObject.

Definition at line 385 of file CommandObjectType.cpp.

References m_options.

◆ IOHandlerActivated()

void CommandObjectTypeSynthAdd::IOHandlerActivated ( IOHandler io_handler,
bool  interactive 

◆ IOHandlerInputComplete()

void CommandObjectTypeSynthAdd::IOHandlerInputComplete ( IOHandler io_handler,
std::string &  data 

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 414 of file CommandObjectType.cpp.

References AddSynth(), error(), lldb_private::ScriptInterpreter::GenerateTypeSynthClass(), lldb_private::DataVisualization::Categories::GetCategory(), lldb_private::CommandObject::GetDebugger(), lldb_private::IOHandler::GetErrorStreamFileSP(), lldb_private::Debugger::GetScriptInterpreter(), lldb_private::StringList::GetSize(), lldb_private::IOHandler::GetUserData(), lldb_private::IOHandler::SetIsDone(), lldb_private::SyntheticChildren::Flags::SetSkipPointers(), lldb_private::SyntheticChildren::Flags::SetSkipReferences(), and lldb_private::StringList::SplitIntoLines().

Member Data Documentation

◆ m_options

CommandOptions CommandObjectTypeSynthAdd::m_options

Definition at line 383 of file CommandObjectType.cpp.

Referenced by DoExecute(), and GetOptions().

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