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

Classes

class  CommandOptions
struct  SourceInfo

Public Member Functions

 CommandObjectSourceList (CommandInterpreter &interpreter)
 ~CommandObjectSourceList () override=default
OptionsGetOptions () override
std::optional< std::string > GetRepeatCommand (Args &current_command_args, uint32_t index) override
 Get the command that appropriate for a "repeat" of the current command.
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.
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.
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 Member Functions

size_t DisplayFunctionSource (const SymbolContext &sc, SourceInfo &source_info, CommandReturnObject &result)
void FindMatchingFunctions (Target &target, ConstString name, SymbolContextList &sc_list)
void FindMatchingFunctionSymbols (Target &target, ConstString name, SymbolContextList &sc_list)
void DoExecute (Args &command, CommandReturnObject &result) override
const SymbolContextListGetBreakpointLocations ()
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
FileLineResolver m_breakpoint_locations
std::string m_reverse_name
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

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 601 of file CommandObjectSource.cpp.

Constructor & Destructor Documentation

◆ CommandObjectSourceList()

CommandObjectSourceList::CommandObjectSourceList ( CommandInterpreter & interpreter)
inline

◆ ~CommandObjectSourceList()

CommandObjectSourceList::~CommandObjectSourceList ( )
overridedefault

Member Function Documentation

◆ DisplayFunctionSource()

◆ DoExecute()

void CommandObjectSourceList::DoExecute ( Args & command,
CommandReturnObject & result )
inlineoverrideprotectedvirtual

Implements lldb_private::CommandObjectParsed.

Definition at line 908 of file CommandObjectSource.cpp.

References lldb_private::SymbolContextList::Append(), lldb_private::CommandReturnObject::AppendErrorWithFormat(), lldb_private::CommandReturnObject::AppendNote(), lldb_private::CommandReturnObject::AppendNoteWithFormatv(), lldb_private::SourceManager::AtLastLine(), lldb_private::Address::CalculateSymbolContextFunction(), lldb_private::ModuleList::Clear(), lldb_private::SymbolContext::Clear(), lldb_private::SymbolContext::comp_unit, DisplayFunctionSource(), lldb_private::SourceManager::DisplayMoreWithLineNumbers(), lldb_private::SourceManager::DisplaySourceLinesWithLineNumbers(), lldb_private::SourceManager::DisplaySourceLinesWithLineNumbersUsingLastFile(), lldb_private::Address::Dump(), lldb_private::Address::DumpStyleModuleWithFileAddress, lldb_private::eInlineBreakpointsAlways, lldb_private::eInlineBreakpointsHeaders, lldb_private::Stream::EOL(), lldb::eReturnStatusFailed, lldb::eReturnStatusSuccessFinishResult, lldb::eStopShowColumnNone, lldb_private::LineEntry::file_sp, FindMatchingFunctions(), FindMatchingFunctionSymbols(), lldb_private::ModuleList::FindModules(), GetBreakpointLocations(), lldb_private::SymbolContextList::GetContextAtIndex(), lldb_private::StreamString::GetData(), lldb_private::CommandObject::GetDebugger(), lldb_private::Target::GetImages(), lldb_private::TargetProperties::GetInlineStrategy(), lldb_private::SourceManager::GetLastFile(), lldb_private::Address::GetModule(), lldb_private::ModuleList::GetModuleAtIndex(), lldb_private::CommandReturnObject::GetOutputStream(), lldb_private::CompileUnit::GetPrimaryFile(), lldb_private::ModuleList::GetSize(), lldb_private::SymbolContextList::GetSize(), lldb_private::Target::GetSourceManager(), lldb_private::Debugger::GetStopShowColumn(), lldb_private::CommandObject::GetTarget(), lldb_private::Target::HasLoadedSections(), lldb_private::FileSpec::IsSourceImplementationFile(), CommandObjectSourceList::SourceInfo::IsValid(), lldb_private::SymbolContext::line_entry, LLDB_INVALID_ADDRESS, m_breakpoint_locations, lldb_private::CommandObject::m_exe_ctx, m_options, lldb_private::Target::ResolveLoadAddress(), lldb_private::ModuleList::ResolveSymbolContextsForFileSpec(), lldb_private::SearchFilter::Search(), lldb_private::CommandReturnObject::SetStatus(), and UINT32_MAX.

◆ FindMatchingFunctions()

◆ FindMatchingFunctionSymbols()

void CommandObjectSourceList::FindMatchingFunctionSymbols ( Target & target,
ConstString name,
SymbolContextList & sc_list )
inlineprotected

◆ GetBreakpointLocations()

const SymbolContextList * CommandObjectSourceList::GetBreakpointLocations ( )
inlineprotected

Definition at line 1213 of file CommandObjectSource.cpp.

References m_breakpoint_locations.

Referenced by DisplayFunctionSource(), and DoExecute().

◆ GetOptions()

Options * CommandObjectSourceList::GetOptions ( )
inlineoverridevirtual

Reimplemented from lldb_private::CommandObject.

Definition at line 706 of file CommandObjectSource.cpp.

References m_options.

◆ GetRepeatCommand()

std::optional< std::string > CommandObjectSourceList::GetRepeatCommand ( Args & current_command_args,
uint32_t index )
inlineoverridevirtual

Get the command that appropriate for a "repeat" of the current command.

Parameters
[in]current_command_argsThe command arguments.
[in]indexThis is for internal use - it is how the completion request is tracked in CommandObjectMultiword, and should otherwise be ignored.
Returns
std::nullopt if there is no special repeat command - it will use the current command line. Otherwise a std::string containing the command to be repeated. If the string is empty, the command won't be allow repeating.

Reimplemented from lldb_private::CommandObject.

Definition at line 708 of file CommandObjectSource.cpp.

References lldb_private::Args::end(), lldb_private::CommandObject::m_cmd_name, m_reverse_name, and lldb_private::Args::ArgEntry::ref().

Member Data Documentation

◆ m_breakpoint_locations

FileLineResolver CommandObjectSourceList::m_breakpoint_locations
protected

◆ m_options

CommandOptions CommandObjectSourceList::m_options
protected

◆ m_reverse_name

std::string CommandObjectSourceList::m_reverse_name
protected

Definition at line 1221 of file CommandObjectSource.cpp.

Referenced by GetRepeatCommand().


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