LLDB mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CommandObjectFrameVariable Class Reference
Inheritance diagram for CommandObjectFrameVariable:
Inheritance graph
[legend]

Public Member Functions

 CommandObjectFrameVariable (CommandInterpreter &interpreter)
 
 ~CommandObjectFrameVariable () override=default
 
OptionsGetOptions () override
 
- 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
 

Protected Member Functions

llvm::StringRef GetScopeString (VariableSP var_sp)
 
bool ScopeRequested (lldb::ValueType scope)
 Returns true if scope matches any of the options in m_option_variable.
 
std::optional< llvm::ArrayRef< VariableSP > > findUniqueRegexMatches (RegularExpression &regex, VariableList &matches, const VariableList &all_variables)
 Finds all the variables in all_variables whose name matches regex, inserting them into matches.
 
void DoExecute (Args &command, CommandReturnObject &result) override
 
- 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 ()
 
TargetGetDummyTarget ()
 
TargetGetTarget ()
 
ThreadGetDefaultThread ()
 
bool CheckRequirements (CommandReturnObject &result)
 Check the command to make sure anything required by this command is available.
 
void Cleanup ()
 

Protected Attributes

OptionGroupOptions m_option_group
 
OptionGroupVariable m_option_variable
 
OptionGroupFormat m_option_format
 
OptionGroupValueObjectDisplay m_varobj_options
 
- 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_private::CommandOverrideCallbackWithResult m_command_override_callback
 
void * m_command_override_baton
 
bool m_is_user_command = false
 

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
 
- 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 386 of file CommandObjectFrame.cpp.

Constructor & Destructor Documentation

◆ CommandObjectFrameVariable()

CommandObjectFrameVariable::CommandObjectFrameVariable ( CommandInterpreter interpreter)
inline

◆ ~CommandObjectFrameVariable()

CommandObjectFrameVariable::~CommandObjectFrameVariable ( )
overridedefault

Member Function Documentation

◆ DoExecute()

void CommandObjectFrameVariable::DoExecute ( Args command,
CommandReturnObject result 
)
inlineoverrideprotectedvirtual

Implements lldb_private::CommandObjectParsed.

Definition at line 498 of file CommandObjectFrame.cpp.

References lldb_private::CommandReturnObject::AppendError(), lldb_private::CommandReturnObject::AppendErrorWithFormat(), lldb_private::StackFrame::eExpressionPathOptionCheckPtrVsMember, lldb_private::StackFrame::eExpressionPathOptionsAllowDirectIVarAccess, lldb_private::StackFrame::eExpressionPathOptionsInspectAnonymousUnions, lldb::eFormatDefault, lldb_private::eLanguageRuntimeDescriptionDisplayVerbosityFull, lldb_private::Args::empty(), lldb::eReturnStatusFailed, lldb::eReturnStatusSuccessFinishResult, error(), findUniqueRegexMatches(), lldb_private::SymbolContext::function, lldb_private::OptionGroupValueObjectDisplay::GetAsDumpOptions(), lldb_private::OptionValueString::GetCurrentValue(), lldb_private::RegularExpression::GetError(), lldb_private::OptionGroupFormat::GetFormat(), lldb_private::ExecutionContext::GetFramePtr(), lldb_private::TargetStats::GetFrameVariableStats(), lldb_private::CommandReturnObject::GetOutputStream(), lldb_private::StackFrame::GetRecognizedFrame(), GetScopeString(), lldb_private::VariableList::GetSize(), lldb_private::Target::GetStatistics(), lldb_private::CommandReturnObject::GetStatus(), lldb_private::DataVisualization::NamedSummaryFormats::GetSummaryFormat(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::CommandObject::GetTarget(), lldb_private::StackFrame::GetValueForVariableExpressionPath(), lldb_private::StackFrame::GetValueObjectForFrameVariable(), lldb_private::VariableList::GetVariableAtIndex(), lldb_private::StackFrame::GetVariableList(), lldb_private::OptionValueString::IsCurrentValueEmpty(), lldb_private::Function::IsTopLevelFunction(), lldb_private::RegularExpression::IsValid(), lldb_private::CommandObject::m_cmd_name, lldb_private::CommandObject::m_exe_ctx, lldb_private::CommandObject::m_interpreter, m_option_format, m_option_variable, m_varobj_options, lldb_private::StatsSuccessFail::NotifyFailure(), lldb_private::StatsSuccessFail::NotifySuccess(), lldb_private::CommandInterpreter::PrintWarningsIfNecessary(), lldb_private::Stream::PutCString(), ScopeRequested(), lldb_private::DumpValueObjectOptions::SetFormat(), lldb_private::DumpValueObjectOptions::SetRootValueObjectName(), lldb_private::CommandReturnObject::SetStatus(), lldb_private::DumpValueObjectOptions::SetVariableFormatDisplayLanguage(), lldb_private::OptionGroupVariable::show_decl, lldb_private::OptionGroupVariable::show_globals, lldb_private::OptionGroupVariable::show_recognized_args, lldb_private::OptionGroupVariable::show_scope, lldb_private::CommandReturnObject::Succeeded(), lldb_private::OptionGroupVariable::summary, lldb_private::OptionGroupVariable::summary_string, lldb_private::toString(), lldb_private::OptionGroupValueObjectDisplay::use_dynamic, and lldb_private::OptionGroupVariable::use_regex.

◆ findUniqueRegexMatches()

std::optional< llvm::ArrayRef< VariableSP > > CommandObjectFrameVariable::findUniqueRegexMatches ( RegularExpression regex,
VariableList matches,
const VariableList all_variables 
)
inlineprotected

Finds all the variables in all_variables whose name matches regex, inserting them into matches.

Variables already contained in matches are not inserted again. Nullopt is returned in case of no matches. A sub-range of matches with all newly inserted variables is returned. This may be empty if all matches were already contained in matches.

Definition at line 480 of file CommandObjectFrame.cpp.

References lldb_private::VariableList::AddVariableIfUnique(), lldb_private::VariableList::GetSize(), ScopeRequested(), and lldb_private::VariableList::toArrayRef().

Referenced by DoExecute().

◆ GetOptions()

Options * CommandObjectFrameVariable::GetOptions ( )
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 426 of file CommandObjectFrame.cpp.

References m_option_group.

◆ GetScopeString()

llvm::StringRef CommandObjectFrameVariable::GetScopeString ( VariableSP  var_sp)
inlineprotected

◆ ScopeRequested()

bool CommandObjectFrameVariable::ScopeRequested ( lldb::ValueType  scope)
inlineprotected

Member Data Documentation

◆ m_option_format

OptionGroupFormat CommandObjectFrameVariable::m_option_format
protected

Definition at line 723 of file CommandObjectFrame.cpp.

Referenced by CommandObjectFrameVariable(), and DoExecute().

◆ m_option_group

OptionGroupOptions CommandObjectFrameVariable::m_option_group
protected

Definition at line 721 of file CommandObjectFrame.cpp.

Referenced by CommandObjectFrameVariable(), and GetOptions().

◆ m_option_variable

OptionGroupVariable CommandObjectFrameVariable::m_option_variable
protected

Definition at line 722 of file CommandObjectFrame.cpp.

Referenced by CommandObjectFrameVariable(), DoExecute(), and ScopeRequested().

◆ m_varobj_options

OptionGroupValueObjectDisplay CommandObjectFrameVariable::m_varobj_options
protected

Definition at line 724 of file CommandObjectFrame.cpp.

Referenced by CommandObjectFrameVariable(), and DoExecute().


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