Go to the documentation of this file.
9 #ifndef LLDB_INTERPRETER_OPTIONS_H
10 #define LLDB_INTERPRETER_OPTIONS_H
22 #include "llvm/ADT/ArrayRef.h"
28 typedef std::vector<std::tuple<std::string, int, std::string>>
OptionArgVector;
98 return llvm::ArrayRef<OptionDefinition>();
124 llvm::Expected<Args>
Parse(
const Args &args,
126 lldb::PlatformSP platform_sp,
127 bool require_validation);
188 int opt_element_index,
242 llvm::StringRef option_value,
325 #endif // LLDB_INTERPRETER_OPTIONS_H
std::vector< OptionDefinition > m_option_defs
std::set< int > OptionSet
void NotifyOptionParsingStarting(ExecutionContext *execution_context)
bool IsASubset(const OptionSet &set_a, const OptionSet &set_b)
virtual Status OptionParsingFinished(ExecutionContext *execution_context)
OptionSetVector m_required_options
OptionSetVector & GetRequiredOptions()
Status OptionParsingFinished(ExecutionContext *execution_context) override
OptionSetVector & GetOptionalOptions()
virtual Status OptionParsingFinished(ExecutionContext *execution_context)
llvm::ArrayRef< OptionDefinition > GetDefinitions() override
virtual ~OptionGroup()=default
OptionGroupOptions()=default
virtual void OptionParsingStarting(ExecutionContext *execution_context)=0
void OptionSeen(int short_option)
OptionInfo(OptionGroup *g, uint32_t i)
OptionSetVector m_optional_options
void BuildValidOptionSets()
static llvm::raw_ostream & error(Stream &strm)
std::vector< OptionSet > OptionSetVector
~OptionGroupOptions() override=default
bool VerifyOptions(CommandReturnObject &result)
OptionInfos m_option_infos
virtual void OptionParsingStarting(ExecutionContext *execution_context)=0
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.
llvm::Expected< Args > Parse(const Args &args, ExecutionContext *execution_context, lldb::PlatformSP platform_sp, bool require_validation)
Parse the provided arguments.
std::vector< OptionArgElement > OptionElementVector
string(SUBSTRING ${p} 10 -1 pStripped) if($
bool VerifyPartialOptions(CommandReturnObject &result)
const OptionGroup * GetGroupWithOption(char short_opt)
Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg, ExecutionContext *execution_context) override
Set the value of an option.
bool SupportsLongOption(const char *long_option)
virtual llvm::ArrayRef< OptionDefinition > GetDefinitions()=0
std::vector< std::tuple< std::string, int, std::string > > OptionArgVector
OptionArgElement(int defs_index, int pos, int arg_pos)
void OutputFormattedUsageText(Stream &strm, const OptionDefinition &option_def, uint32_t output_max_columns)
virtual llvm::ArrayRef< OptionDefinition > GetDefinitions()
OptionElementVector ParseForCompletion(const Args &args, uint32_t cursor_index)
void OptionParsingStarting(ExecutionContext *execution_context) override
void GenerateOptionUsage(Stream &strm, CommandObject &cmd, uint32_t screen_width)
void OptionsSetUnion(const OptionSet &set_a, const OptionSet &set_b, OptionSet &union_set)
Option * GetLongOptions()
Get the option definitions to use when parsing Args options.
size_t OptionsSetDiff(const OptionSet &set_a, const OptionSet &set_b, OptionSet &diffs)
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.
void Append(OptionGroup *group)
Append options from a OptionGroup class.
uint32_t NumCommandOptions()
A class that represents a running process on the host machine.
Status NotifyOptionParsingFinished(ExecutionContext *execution_context)
std::vector< OptionInfo > OptionInfos
virtual Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value, ExecutionContext *execution_context)=0
virtual Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg, ExecutionContext *execution_context)=0
Set the value of an option.
llvm::Expected< Args > ParseAlias(const Args &args, OptionArgVector *option_arg_vector, std::string &input_line)
std::vector< Option > m_getopt_table
OptionGroup * option_group
std::shared_ptr< OptionArgVector > OptionArgVectorSP