LLDB mainline
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
lldb_private::Options Class Referenceabstract

A command line option parsing protocol class. More...

#include "lldb/Interpreter/Options.h"

Inherited by CommandObjectBreakpointClear::CommandOptions, CommandObjectBreakpointCommandDelete::CommandOptions, CommandObjectBreakpointDelete::CommandOptions, CommandObjectBreakpointList::CommandOptions, CommandObjectBreakpointRead::CommandOptions, CommandObjectBreakpointWrite::CommandOptions, CommandObjectCommandsAddRegex::CommandOptions, CommandObjectCommandsContainerAdd::CommandOptions, CommandObjectCommandsScriptAdd::CommandOptions, CommandObjectCommandsScriptImport::CommandOptions, CommandObjectCommandsSource::CommandOptions, CommandObjectDiagnosticsDump::CommandOptions, CommandObjectFrameDiagnose::CommandOptions, CommandObjectFrameRecognizerAdd::CommandOptions, CommandObjectFrameSelect::CommandOptions, CommandObjectLogDump::CommandOptions, CommandObjectLogEnable::CommandOptions, CommandObjectObjC_ClassTable_Dump::CommandOptions, CommandObjectPlatformFRead::CommandOptions, CommandObjectPlatformFWrite::CommandOptions, CommandObjectPlatformProcessAttach::CommandOptions, CommandObjectPlatformProcessList::CommandOptions, CommandObjectPlatformShell::CommandOptions, CommandObjectProcessAttach::CommandOptions, CommandObjectProcessConnect::CommandOptions, CommandObjectProcessContinue::CommandOptions, CommandObjectProcessDetach::CommandOptions, CommandObjectProcessHandle::CommandOptions, CommandObjectProcessLoad::CommandOptions, CommandObjectProcessSaveCore::CommandOptions, CommandObjectProcessStatus::CommandOptions, CommandObjectRenderScriptRuntimeAllocationDump::CommandOptions, CommandObjectRenderScriptRuntimeAllocationList::CommandOptions, CommandObjectRenderScriptRuntimeKernelBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeReductionBreakpointSet::CommandOptions, CommandObjectSessionHistory::CommandOptions, CommandObjectSettingsClear::CommandOptions, CommandObjectSettingsRead::CommandOptions, CommandObjectSettingsSet::CommandOptions, CommandObjectSettingsWrite::CommandOptions, CommandObjectSourceInfo::CommandOptions, CommandObjectSourceList::CommandOptions, CommandObjectStatsDump::CommandOptions, CommandObjectTargetModulesDumpLineTable::CommandOptions, CommandObjectTargetModulesDumpSymtab::CommandOptions, CommandObjectTargetModulesList::CommandOptions, CommandObjectTargetModulesLookup::CommandOptions, CommandObjectTargetModulesShowUnwind::CommandOptions, CommandObjectThreadBacktrace::CommandOptions, CommandObjectThreadInfo::CommandOptions, CommandObjectThreadJump::CommandOptions, CommandObjectThreadPlanList::CommandOptions, CommandObjectThreadReturn::CommandOptions, CommandObjectThreadUntil::CommandOptions, CommandObjectTraceDump::CommandOptions, CommandObjectTraceDumpFunctionCalls::CommandOptions, CommandObjectTraceDumpInfo::CommandOptions, CommandObjectTraceDumpInstructions::CommandOptions, CommandObjectTraceLoad::CommandOptions, CommandObjectTraceSave::CommandOptions, CommandObjectTraceSchema::CommandOptions, CommandObjectTypeCategoryDefine::CommandOptions, CommandObjectTypeCategoryDisable::CommandOptions, CommandObjectTypeCategoryEnable::CommandOptions, CommandObjectTypeFilterAdd::CommandOptions, CommandObjectTypeFormatterClear::CommandOptions, CommandObjectTypeFormatterDelete::CommandOptions, CommandObjectTypeFormatterList< FormatterType >::CommandOptions, CommandObjectTypeSummaryAdd::CommandOptions, CommandObjectTypeSynthAdd::CommandOptions, CommandObjectWatchpointCommandAdd::CommandOptions, CommandObjectWatchpointDelete::CommandOptions, CommandObjectWatchpointIgnore::CommandOptions, CommandObjectWatchpointList::CommandOptions, CommandObjectWatchpointModify::CommandOptions, lldb_private::CommandObjectDisassemble::CommandOptions, lldb_private::CommandObjectHelp::CommandOptions, lldb_private::CommandObjectScript::CommandOptions, lldb_private::OptionGroupOptions, lldb_private::ctf::CommandObjectThreadTraceExportCTF::CommandOptions, lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::CommandOptions, lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT::CommandOptions, and sddarwinlog_private::EnableOptions.

Collaboration diagram for lldb_private::Options:
Collaboration graph
[legend]

Public Member Functions

 Options ()
 
virtual ~Options ()
 
void BuildGetoptTable ()
 
void BuildValidOptionSets ()
 
uint32_t NumCommandOptions ()
 
OptionGetLongOptions ()
 Get the option definitions to use when parsing Args options.
 
void OptionSeen (int short_option)
 
bool VerifyOptions (CommandReturnObject &result)
 
bool VerifyPartialOptions (CommandReturnObject &result)
 
void OutputFormattedUsageText (Stream &strm, const OptionDefinition &option_def, uint32_t output_max_columns)
 
void GenerateOptionUsage (Stream &strm, CommandObject &cmd, uint32_t screen_width)
 
bool SupportsLongOption (const char *long_option)
 
virtual llvm::ArrayRef< OptionDefinitionGetDefinitions ()
 
void NotifyOptionParsingStarting (ExecutionContext *execution_context)
 
llvm::Expected< ArgsParse (const Args &args, ExecutionContext *execution_context, lldb::PlatformSP platform_sp, bool require_validation)
 Parse the provided arguments.
 
llvm::Expected< ArgsParseAlias (const Args &args, OptionArgVector *option_arg_vector, std::string &input_line)
 
OptionElementVector ParseForCompletion (const Args &args, uint32_t cursor_index)
 
Status NotifyOptionParsingFinished (ExecutionContext *execution_context)
 
virtual Status SetOptionValue (uint32_t option_idx, llvm::StringRef option_arg, ExecutionContext *execution_context)=0
 Set the value of an option.
 
bool HandleOptionCompletion (lldb_private::CompletionRequest &request, OptionElementVector &option_map, CommandInterpreter &interpreter)
 Handles the generic bits of figuring out whether we are in an option, and if so completing it.
 
virtual void HandleOptionArgumentCompletion (lldb_private::CompletionRequest &request, OptionElementVector &opt_element_vector, int opt_element_index, CommandInterpreter &interpreter)
 Handles the generic bits of figuring out whether we are in an option, and if so completing it.
 

Protected Types

typedef std::set< int > OptionSet
 
typedef std::vector< OptionSetOptionSetVector
 

Protected Member Functions

OptionSetVectorGetRequiredOptions ()
 
OptionSetVectorGetOptionalOptions ()
 
bool IsASubset (const OptionSet &set_a, const OptionSet &set_b)
 
size_t OptionsSetDiff (const OptionSet &set_a, const OptionSet &set_b, OptionSet &diffs)
 
void OptionsSetUnion (const OptionSet &set_a, const OptionSet &set_b, OptionSet &union_set)
 
virtual void OptionParsingStarting (ExecutionContext *execution_context)=0
 
virtual Status OptionParsingFinished (ExecutionContext *execution_context)
 

Protected Attributes

std::vector< Optionm_getopt_table
 
OptionSet m_seen_options
 
OptionSetVector m_required_options
 
OptionSetVector m_optional_options
 

Detailed Description

A command line option parsing protocol class.

Options is designed to be subclassed to contain all needed options for a given command. The options can be parsed by calling the Parse function.

The options are specified using the format defined for the libc options parsing function getopt_long_only:

#include <getopt.h>
int getopt_long_only(int argc, char * const *argv, const char
*optstring, const struct option *longopts, int *longindex);

Definition at line 57 of file Options.h.

Member Typedef Documentation

◆ OptionSet

typedef std::set<int> lldb_private::Options::OptionSet
protected

Definition at line 194 of file Options.h.

◆ OptionSetVector

typedef std::vector<OptionSet> lldb_private::Options::OptionSetVector
protected

Definition at line 195 of file Options.h.

Constructor & Destructor Documentation

◆ Options()

Options::Options ( )

Definition at line 29 of file Options.cpp.

References BuildValidOptionSets().

◆ ~Options()

Options::~Options ( )
virtualdefault

Member Function Documentation

◆ BuildGetoptTable()

void lldb_private::Options::BuildGetoptTable ( )

◆ BuildValidOptionSets()

void Options::BuildValidOptionSets ( )

◆ GenerateOptionUsage()

void Options::GenerateOptionUsage ( Stream strm,
CommandObject cmd,
uint32_t  screen_width 
)

◆ GetDefinitions()

virtual llvm::ArrayRef< OptionDefinition > lldb_private::Options::GetDefinitions ( )
inlinevirtual

Reimplemented in lldb_private::OptionGroupOptions, CommandObjectBreakpointList::CommandOptions, CommandObjectBreakpointClear::CommandOptions, CommandObjectBreakpointDelete::CommandOptions, CommandObjectBreakpointRead::CommandOptions, CommandObjectBreakpointWrite::CommandOptions, CommandObjectBreakpointCommandDelete::CommandOptions, CommandObjectCommandsSource::CommandOptions, CommandObjectCommandsAddRegex::CommandOptions, CommandObjectCommandsScriptImport::CommandOptions, CommandObjectCommandsScriptAdd::CommandOptions, CommandObjectCommandsContainerAdd::CommandOptions, CommandObjectDiagnosticsDump::CommandOptions, lldb_private::CommandObjectDisassemble::CommandOptions, CommandObjectFrameDiagnose::CommandOptions, CommandObjectFrameSelect::CommandOptions, CommandObjectFrameRecognizerAdd::CommandOptions, lldb_private::CommandObjectHelp::CommandOptions, CommandObjectLogEnable::CommandOptions, CommandObjectLogDump::CommandOptions, CommandObjectPlatformFRead::CommandOptions, CommandObjectPlatformFWrite::CommandOptions, CommandObjectPlatformProcessList::CommandOptions, CommandObjectPlatformProcessAttach::CommandOptions, CommandObjectPlatformShell::CommandOptions, CommandObjectProcessAttach::CommandOptions, CommandObjectProcessContinue::CommandOptions, CommandObjectProcessDetach::CommandOptions, CommandObjectProcessConnect::CommandOptions, CommandObjectProcessLoad::CommandOptions, CommandObjectProcessSaveCore::CommandOptions, CommandObjectProcessStatus::CommandOptions, CommandObjectProcessHandle::CommandOptions, lldb_private::CommandObjectScript::CommandOptions, CommandObjectSessionHistory::CommandOptions, CommandObjectSettingsSet::CommandOptions, CommandObjectSettingsWrite::CommandOptions, CommandObjectSettingsRead::CommandOptions, CommandObjectSettingsClear::CommandOptions, CommandObjectSourceInfo::CommandOptions, CommandObjectSourceList::CommandOptions, CommandObjectStatsDump::CommandOptions, CommandObjectTargetModulesDumpSymtab::CommandOptions, CommandObjectTargetModulesDumpLineTable::CommandOptions, CommandObjectTargetModulesList::CommandOptions, CommandObjectTargetModulesShowUnwind::CommandOptions, CommandObjectTargetModulesLookup::CommandOptions, CommandObjectThreadBacktrace::CommandOptions, CommandObjectThreadUntil::CommandOptions, CommandObjectThreadInfo::CommandOptions, CommandObjectThreadReturn::CommandOptions, CommandObjectThreadJump::CommandOptions, CommandObjectThreadPlanList::CommandOptions, CommandObjectTraceDumpFunctionCalls::CommandOptions, CommandObjectTraceDumpInstructions::CommandOptions, CommandObjectTraceDumpInfo::CommandOptions, CommandObjectTraceSave::CommandOptions, CommandObjectTraceLoad::CommandOptions, CommandObjectTraceDump::CommandOptions, CommandObjectTraceSchema::CommandOptions, CommandObjectTypeSummaryAdd::CommandOptions, CommandObjectTypeSynthAdd::CommandOptions, CommandObjectTypeFormatterDelete::CommandOptions, CommandObjectTypeFormatterClear::CommandOptions, CommandObjectTypeFormatterList< FormatterType >::CommandOptions, CommandObjectTypeCategoryDefine::CommandOptions, CommandObjectTypeCategoryEnable::CommandOptions, CommandObjectTypeCategoryDisable::CommandOptions, CommandObjectTypeFilterAdd::CommandOptions, CommandObjectWatchpointList::CommandOptions, CommandObjectWatchpointDelete::CommandOptions, CommandObjectWatchpointIgnore::CommandOptions, CommandObjectWatchpointModify::CommandOptions, CommandObjectWatchpointCommandAdd::CommandOptions, CommandObjectObjC_ClassTable_Dump::CommandOptions, CommandObjectRenderScriptRuntimeReductionBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeKernelBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeAllocationDump::CommandOptions, CommandObjectRenderScriptRuntimeAllocationList::CommandOptions, sddarwinlog_private::EnableOptions, lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT::CommandOptions, lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::CommandOptions, and lldb_private::ctf::CommandObjectThreadTraceExportCTF::CommandOptions.

Definition at line 97 of file Options.h.

Referenced by BuildValidOptionSets(), GenerateOptionUsage(), GetLongOptions(), HandleOptionArgumentCompletion(), HandleOptionCompletion(), NumCommandOptions(), ParseForCompletion(), and SupportsLongOption().

◆ GetLongOptions()

Option * Options::GetLongOptions ( )

Get the option definitions to use when parsing Args options.

See also
Args::ParseOptions (Options&)
man getopt_long_only

Definition at line 202 of file Options.cpp.

References GetDefinitions(), m_getopt_table, and lldb_private::Debugger::ReportError().

Referenced by Parse(), ParseAlias(), and ParseForCompletion().

◆ GetOptionalOptions()

OptionSetVector & lldb_private::Options::GetOptionalOptions ( )
inlineprotected

Definition at line 207 of file Options.h.

References BuildValidOptionSets(), and m_optional_options.

Referenced by VerifyOptions(), and VerifyPartialOptions().

◆ GetRequiredOptions()

OptionSetVector & lldb_private::Options::GetRequiredOptions ( )
inlineprotected

Definition at line 202 of file Options.h.

References BuildValidOptionSets(), and m_required_options.

Referenced by GenerateOptionUsage(), VerifyOptions(), and VerifyPartialOptions().

◆ HandleOptionArgumentCompletion()

void Options::HandleOptionArgumentCompletion ( lldb_private::CompletionRequest request,
OptionElementVector opt_element_vector,
int  opt_element_index,
CommandInterpreter interpreter 
)
virtual

◆ HandleOptionCompletion()

bool Options::HandleOptionCompletion ( lldb_private::CompletionRequest request,
OptionElementVector option_map,
CommandInterpreter interpreter 
)

Handles the generic bits of figuring out whether we are in an option, and if so completing it.

Parameters
[in,out]requestThe completion request that we need to act upon.
[in]interpreterThe interpreter that's doing the completing.

FIXME: This is the wrong return value, since we also need to make a distinction between total number of matches, and the window the user wants returned.

Returns
true if we were in an option, false otherwise.

Definition at line 587 of file Options.cpp.

References lldb_private::CompletionRequest::AddCompletion(), lldb_private::OptionArgElement::eBareDash, lldb_private::OptionArgElement::eBareDoubleDash, lldb_private::OptionArgElement::eUnrecognizedArg, lldb_private::CompletionRequest::GetCursorArgumentPrefix(), lldb_private::CompletionRequest::GetCursorIndex(), GetDefinitions(), HandleOptionArgumentCompletion(), lldb_private::OptionDefinition::long_option, and lldb_private::OptionDefinition::usage_text.

Referenced by lldb_private::CommandObject::HandleCompletion().

◆ IsASubset()

bool Options::IsASubset ( const OptionSet set_a,
const OptionSet set_b 
)
protected

Definition at line 48 of file Options.cpp.

Referenced by VerifyOptions(), and VerifyPartialOptions().

◆ NotifyOptionParsingFinished()

Status Options::NotifyOptionParsingFinished ( ExecutionContext execution_context)

◆ NotifyOptionParsingStarting()

void Options::NotifyOptionParsingStarting ( ExecutionContext execution_context)

◆ NumCommandOptions()

uint32_t Options::NumCommandOptions ( )

◆ OptionParsingFinished()

virtual Status lldb_private::Options::OptionParsingFinished ( ExecutionContext execution_context)
inlineprotectedvirtual

◆ OptionParsingStarting()

virtual void lldb_private::Options::OptionParsingStarting ( ExecutionContext execution_context)
protectedpure virtual

Implemented in CommandObjectRenderScriptRuntimeReductionBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeKernelBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeAllocationDump::CommandOptions, CommandObjectRenderScriptRuntimeAllocationList::CommandOptions, lldb_private::OptionGroupOptions, CommandObjectBreakpointList::CommandOptions, CommandObjectBreakpointClear::CommandOptions, CommandObjectBreakpointDelete::CommandOptions, CommandObjectBreakpointRead::CommandOptions, CommandObjectBreakpointWrite::CommandOptions, CommandObjectBreakpointCommandDelete::CommandOptions, CommandObjectCommandsSource::CommandOptions, CommandObjectCommandsAddRegex::CommandOptions, CommandObjectCommandsScriptImport::CommandOptions, CommandObjectCommandsScriptAdd::CommandOptions, CommandObjectCommandsContainerAdd::CommandOptions, CommandObjectDiagnosticsDump::CommandOptions, lldb_private::CommandObjectDisassemble::CommandOptions, CommandObjectFrameDiagnose::CommandOptions, CommandObjectFrameSelect::CommandOptions, CommandObjectFrameRecognizerAdd::CommandOptions, lldb_private::CommandObjectHelp::CommandOptions, CommandObjectLogEnable::CommandOptions, CommandObjectLogDump::CommandOptions, CommandObjectPlatformFRead::CommandOptions, CommandObjectPlatformFWrite::CommandOptions, CommandObjectPlatformProcessList::CommandOptions, CommandObjectPlatformProcessAttach::CommandOptions, CommandObjectPlatformShell::CommandOptions, CommandObjectProcessAttach::CommandOptions, CommandObjectProcessContinue::CommandOptions, CommandObjectProcessDetach::CommandOptions, CommandObjectProcessConnect::CommandOptions, CommandObjectProcessLoad::CommandOptions, CommandObjectProcessSaveCore::CommandOptions, CommandObjectProcessStatus::CommandOptions, CommandObjectProcessHandle::CommandOptions, lldb_private::CommandObjectScript::CommandOptions, CommandObjectSessionHistory::CommandOptions, CommandObjectSettingsSet::CommandOptions, CommandObjectSettingsWrite::CommandOptions, CommandObjectSettingsRead::CommandOptions, CommandObjectSettingsClear::CommandOptions, CommandObjectSourceInfo::CommandOptions, CommandObjectSourceList::CommandOptions, CommandObjectStatsDump::CommandOptions, CommandObjectTargetModulesDumpSymtab::CommandOptions, CommandObjectTargetModulesDumpLineTable::CommandOptions, CommandObjectTargetModulesList::CommandOptions, CommandObjectTargetModulesShowUnwind::CommandOptions, CommandObjectTargetModulesLookup::CommandOptions, CommandObjectThreadBacktrace::CommandOptions, CommandObjectThreadUntil::CommandOptions, CommandObjectThreadInfo::CommandOptions, CommandObjectThreadReturn::CommandOptions, CommandObjectThreadJump::CommandOptions, CommandObjectThreadPlanList::CommandOptions, CommandObjectTraceDumpFunctionCalls::CommandOptions, CommandObjectTraceDumpInstructions::CommandOptions, CommandObjectTraceDumpInfo::CommandOptions, CommandObjectTraceSave::CommandOptions, CommandObjectTraceLoad::CommandOptions, CommandObjectTraceDump::CommandOptions, CommandObjectTraceSchema::CommandOptions, CommandObjectTypeSummaryAdd::CommandOptions, CommandObjectTypeSynthAdd::CommandOptions, CommandObjectTypeFormatterDelete::CommandOptions, CommandObjectTypeFormatterClear::CommandOptions, CommandObjectTypeFormatterList< FormatterType >::CommandOptions, CommandObjectTypeCategoryDefine::CommandOptions, CommandObjectTypeCategoryEnable::CommandOptions, CommandObjectTypeCategoryDisable::CommandOptions, CommandObjectTypeFilterAdd::CommandOptions, CommandObjectWatchpointList::CommandOptions, CommandObjectWatchpointDelete::CommandOptions, CommandObjectWatchpointIgnore::CommandOptions, CommandObjectWatchpointModify::CommandOptions, CommandObjectWatchpointCommandAdd::CommandOptions, CommandObjectObjC_ClassTable_Dump::CommandOptions, sddarwinlog_private::EnableOptions, lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT::CommandOptions, lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::CommandOptions, and lldb_private::ctf::CommandObjectThreadTraceExportCTF::CommandOptions.

Referenced by NotifyOptionParsingStarting().

◆ OptionSeen()

void Options::OptionSeen ( int  short_option)

Definition at line 44 of file Options.cpp.

References m_seen_options.

Referenced by Parse(), ParseAlias(), and ParseForCompletion().

◆ OptionsSetDiff()

size_t Options::OptionsSetDiff ( const OptionSet set_a,
const OptionSet set_b,
OptionSet diffs 
)
protected

Definition at line 68 of file Options.cpp.

Referenced by VerifyOptions().

◆ OptionsSetUnion()

void Options::OptionsSetUnion ( const OptionSet set_a,
const OptionSet set_b,
OptionSet union_set 
)
protected

Definition at line 88 of file Options.cpp.

Referenced by VerifyPartialOptions().

◆ OutputFormattedUsageText()

void Options::OutputFormattedUsageText ( Stream strm,
const OptionDefinition option_def,
uint32_t  output_max_columns 
)

◆ Parse()

llvm::Expected< Args > Options::Parse ( const Args args,
ExecutionContext execution_context,
lldb::PlatformSP  platform_sp,
bool  require_validation 
)

Parse the provided arguments.

The parsed options are set via calls to SetOptionValue. In case of a successful parse, the function returns a copy of the input arguments with the parsed options removed. Otherwise, it returns an error.

param[in] platform_sp The platform used for option validation. This is necessary because an empty execution_context is not enough to get us to a reasonable platform. If the platform isn't given, we'll try to get it from the execution context. If we can't get it from the execution context, we'll skip validation.

param[in] require_validation When true, it will fail option parsing if validation could not occur due to not having a platform.

Definition at line 1244 of file Options.cpp.

References BuildShortOptions(), lldb_private::Option::definition, lldb_private::OptionParser::eNoArgument, error(), lldb_private::Option::flag, GetArgvForParsing(), GetLongOptions(), lldb_private::OptionParser::GetOptionArgument(), lldb_private::OptionParser::GetOptionIndex(), lldb_private::ExecutionContext::GetTargetSP(), lldb_private::OptionDefinition::long_option, lldb_private::OptionDefinition::option_has_arg, OptionSeen(), lldb_private::OptionParser::Parse(), lldb_private::OptionParser::Prepare(), ReconstituteArgsAfterParsing(), SetOptionValue(), lldb_private::Option::val, lldb_private::OptionDefinition::validator, and lldb_private::validator.

Referenced by lldb_private::CommandObject::ParseOptions().

◆ ParseAlias()

llvm::Expected< Args > Options::ParseAlias ( const Args args,
OptionArgVector option_arg_vector,
std::string &  input_line 
)

◆ ParseForCompletion()

OptionElementVector Options::ParseForCompletion ( const Args args,
uint32_t  cursor_index 
)

◆ SetOptionValue()

virtual Status lldb_private::Options::SetOptionValue ( uint32_t  option_idx,
llvm::StringRef  option_arg,
ExecutionContext execution_context 
)
pure virtual

Set the value of an option.

Parameters
[in]option_idxThe index into the "struct option" array that was returned by Options::GetLongOptions().
[in]option_argThe argument value for the option that the user entered, or nullptr if there is no argument for the current option.
[in]execution_contextThe execution context to use for evaluating the option. May be nullptr if the option is to be evaluated outside any particular context.
See also
Args::ParseOptions (Options&)
man getopt_long_only

Implemented in CommandObjectProcessContinue::CommandOptions, CommandObjectRenderScriptRuntimeReductionBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeKernelBreakpointSet::CommandOptions, CommandObjectRenderScriptRuntimeAllocationDump::CommandOptions, CommandObjectRenderScriptRuntimeAllocationList::CommandOptions, lldb_private::OptionGroupOptions, CommandObjectBreakpointList::CommandOptions, CommandObjectBreakpointClear::CommandOptions, CommandObjectBreakpointDelete::CommandOptions, CommandObjectBreakpointRead::CommandOptions, CommandObjectBreakpointWrite::CommandOptions, CommandObjectBreakpointCommandDelete::CommandOptions, CommandObjectCommandsSource::CommandOptions, CommandObjectCommandsAddRegex::CommandOptions, CommandObjectCommandsScriptImport::CommandOptions, CommandObjectCommandsScriptAdd::CommandOptions, CommandObjectCommandsContainerAdd::CommandOptions, CommandObjectDiagnosticsDump::CommandOptions, lldb_private::CommandObjectDisassemble::CommandOptions, CommandObjectFrameDiagnose::CommandOptions, CommandObjectFrameSelect::CommandOptions, CommandObjectFrameRecognizerAdd::CommandOptions, lldb_private::CommandObjectHelp::CommandOptions, CommandObjectLogEnable::CommandOptions, CommandObjectLogDump::CommandOptions, CommandObjectPlatformFRead::CommandOptions, CommandObjectPlatformFWrite::CommandOptions, CommandObjectPlatformProcessList::CommandOptions, CommandObjectPlatformProcessAttach::CommandOptions, CommandObjectPlatformShell::CommandOptions, CommandObjectProcessAttach::CommandOptions, CommandObjectProcessDetach::CommandOptions, CommandObjectProcessConnect::CommandOptions, CommandObjectProcessLoad::CommandOptions, CommandObjectProcessSaveCore::CommandOptions, CommandObjectProcessStatus::CommandOptions, CommandObjectProcessHandle::CommandOptions, lldb_private::CommandObjectScript::CommandOptions, CommandObjectSessionHistory::CommandOptions, CommandObjectSettingsSet::CommandOptions, CommandObjectSettingsWrite::CommandOptions, CommandObjectSettingsRead::CommandOptions, CommandObjectSettingsClear::CommandOptions, CommandObjectSourceInfo::CommandOptions, CommandObjectSourceList::CommandOptions, CommandObjectStatsDump::CommandOptions, CommandObjectTargetModulesDumpSymtab::CommandOptions, CommandObjectTargetModulesDumpLineTable::CommandOptions, CommandObjectTargetModulesList::CommandOptions, CommandObjectTargetModulesShowUnwind::CommandOptions, CommandObjectTargetModulesLookup::CommandOptions, CommandObjectThreadBacktrace::CommandOptions, CommandObjectThreadUntil::CommandOptions, CommandObjectThreadInfo::CommandOptions, CommandObjectThreadReturn::CommandOptions, CommandObjectThreadJump::CommandOptions, CommandObjectThreadPlanList::CommandOptions, CommandObjectTraceDumpFunctionCalls::CommandOptions, CommandObjectTraceDumpInstructions::CommandOptions, CommandObjectTraceDumpInfo::CommandOptions, CommandObjectTraceSave::CommandOptions, CommandObjectTraceDump::CommandOptions, CommandObjectTraceSchema::CommandOptions, CommandObjectTypeSummaryAdd::CommandOptions, CommandObjectTypeSynthAdd::CommandOptions, CommandObjectTypeFormatterDelete::CommandOptions, CommandObjectTypeFormatterClear::CommandOptions, CommandObjectTypeFormatterList< FormatterType >::CommandOptions, CommandObjectTypeCategoryDefine::CommandOptions, CommandObjectTypeCategoryEnable::CommandOptions, CommandObjectTypeCategoryDisable::CommandOptions, CommandObjectTypeFilterAdd::CommandOptions, CommandObjectWatchpointList::CommandOptions, CommandObjectWatchpointDelete::CommandOptions, CommandObjectWatchpointIgnore::CommandOptions, CommandObjectWatchpointModify::CommandOptions, CommandObjectWatchpointCommandAdd::CommandOptions, CommandObjectObjC_ClassTable_Dump::CommandOptions, sddarwinlog_private::EnableOptions, lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT::CommandOptions, lldb_private::trace_intel_pt::CommandObjectProcessTraceStartIntelPT::CommandOptions, and lldb_private::ctf::CommandObjectThreadTraceExportCTF::CommandOptions.

Referenced by Parse().

◆ SupportsLongOption()

bool Options::SupportsLongOption ( const char *  long_option)

Definition at line 330 of file Options.cpp.

References GetDefinitions().

Referenced by lldb_private::CommandInterpreter::ResolveCommandImpl().

◆ VerifyOptions()

bool Options::VerifyOptions ( CommandReturnObject result)

◆ VerifyPartialOptions()

bool Options::VerifyPartialOptions ( CommandReturnObject result)

Member Data Documentation

◆ m_getopt_table

std::vector<Option> lldb_private::Options::m_getopt_table
protected

Definition at line 197 of file Options.h.

Referenced by CommandObjectTypeCategoryDefine::DoExecute(), CommandObjectTypeCategoryEnable::DoExecute(), CommandObjectTypeCategoryDisable::DoExecute(), CommandObjectWatchpointCommandAdd::DoExecute(), GetLongOptions(), CommandObjectProcessContinue::CommandOptions::SetOptionValue(), CommandObjectBreakpointList::CommandOptions::SetOptionValue(), CommandObjectBreakpointClear::CommandOptions::SetOptionValue(), CommandObjectBreakpointDelete::CommandOptions::SetOptionValue(), CommandObjectBreakpointRead::CommandOptions::SetOptionValue(), CommandObjectBreakpointWrite::CommandOptions::SetOptionValue(), CommandObjectBreakpointCommandDelete::CommandOptions::SetOptionValue(), CommandObjectCommandsSource::CommandOptions::SetOptionValue(), CommandObjectCommandsScriptImport::CommandOptions::SetOptionValue(), CommandObjectCommandsScriptAdd::CommandOptions::SetOptionValue(), CommandObjectCommandsContainerAdd::CommandOptions::SetOptionValue(), CommandObjectDiagnosticsDump::CommandOptions::SetOptionValue(), CommandObjectFrameDiagnose::CommandOptions::SetOptionValue(), CommandObjectFrameSelect::CommandOptions::SetOptionValue(), CommandObjectFrameRecognizerAdd::CommandOptions::SetOptionValue(), lldb_private::CommandObjectHelp::CommandOptions::SetOptionValue(), CommandObjectLogEnable::CommandOptions::SetOptionValue(), CommandObjectLogDump::CommandOptions::SetOptionValue(), CommandObjectPlatformFRead::CommandOptions::SetOptionValue(), CommandObjectPlatformFWrite::CommandOptions::SetOptionValue(), CommandObjectPlatformProcessList::CommandOptions::SetOptionValue(), CommandObjectPlatformProcessAttach::CommandOptions::SetOptionValue(), CommandObjectProcessAttach::CommandOptions::SetOptionValue(), CommandObjectProcessDetach::CommandOptions::SetOptionValue(), CommandObjectProcessConnect::CommandOptions::SetOptionValue(), CommandObjectProcessLoad::CommandOptions::SetOptionValue(), CommandObjectProcessSaveCore::CommandOptions::SetOptionValue(), CommandObjectProcessStatus::CommandOptions::SetOptionValue(), CommandObjectProcessHandle::CommandOptions::SetOptionValue(), lldb_private::CommandObjectScript::CommandOptions::SetOptionValue(), CommandObjectSessionHistory::CommandOptions::SetOptionValue(), CommandObjectSettingsWrite::CommandOptions::SetOptionValue(), CommandObjectSettingsRead::CommandOptions::SetOptionValue(), CommandObjectSettingsClear::CommandOptions::SetOptionValue(), CommandObjectStatsDump::CommandOptions::SetOptionValue(), CommandObjectTargetModulesDumpSymtab::CommandOptions::SetOptionValue(), CommandObjectTargetModulesList::CommandOptions::SetOptionValue(), CommandObjectTargetModulesShowUnwind::CommandOptions::SetOptionValue(), CommandObjectTargetModulesLookup::CommandOptions::SetOptionValue(), CommandObjectThreadBacktrace::CommandOptions::SetOptionValue(), CommandObjectThreadUntil::CommandOptions::SetOptionValue(), CommandObjectThreadInfo::CommandOptions::SetOptionValue(), CommandObjectThreadReturn::CommandOptions::SetOptionValue(), CommandObjectThreadJump::CommandOptions::SetOptionValue(), CommandObjectThreadPlanList::CommandOptions::SetOptionValue(), CommandObjectTraceDumpFunctionCalls::CommandOptions::SetOptionValue(), CommandObjectTraceDumpInstructions::CommandOptions::SetOptionValue(), CommandObjectTraceDumpInfo::CommandOptions::SetOptionValue(), CommandObjectTraceSave::CommandOptions::SetOptionValue(), CommandObjectTraceDump::CommandOptions::SetOptionValue(), CommandObjectTraceSchema::CommandOptions::SetOptionValue(), CommandObjectTypeSummaryAdd::CommandOptions::SetOptionValue(), CommandObjectTypeSynthAdd::CommandOptions::SetOptionValue(), CommandObjectTypeFormatterDelete::CommandOptions::SetOptionValue(), CommandObjectTypeFormatterClear::CommandOptions::SetOptionValue(), CommandObjectTypeFormatterList< FormatterType >::CommandOptions::SetOptionValue(), sddarwinlog_private::EnableOptions::SetOptionValue(), lldb_private::trace_intel_pt::CommandObjectThreadTraceStartIntelPT::CommandOptions::SetOptionValue(), lldb_private::ctf::CommandObjectThreadTraceExportCTF::CommandOptions::SetOptionValue(), and CommandObjectTraceLoad::CommandOptions::SetOptionValue().

◆ m_optional_options

OptionSetVector lldb_private::Options::m_optional_options
protected

Definition at line 200 of file Options.h.

Referenced by BuildValidOptionSets(), and GetOptionalOptions().

◆ m_required_options

OptionSetVector lldb_private::Options::m_required_options
protected

Definition at line 199 of file Options.h.

Referenced by BuildValidOptionSets(), and GetRequiredOptions().

◆ m_seen_options

OptionSet lldb_private::Options::m_seen_options
protected

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