LLDB mainline
OptionGroupBoolean.cpp
Go to the documentation of this file.
1//===-- OptionGroupBoolean.cpp --------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
10
12
13using namespace lldb;
14using namespace lldb_private;
15
16OptionGroupBoolean::OptionGroupBoolean(uint32_t usage_mask, bool required,
17 const char *long_option,
18 int short_option, const char *usage_text,
19 bool default_value,
20 bool no_argument_toggle_default)
21 : m_value(default_value, default_value) {
24 m_option_definition.long_option = long_option;
25 m_option_definition.short_option = short_option;
27 m_option_definition.option_has_arg = no_argument_toggle_default
34}
35
37 llvm::StringRef option_value,
38 ExecutionContext *execution_context) {
41 // Not argument, toggle the default value and mark the option as having
42 // been set
45 } else {
46 error = m_value.SetValueFromString(option_value);
47 }
48 return error;
49}
50
52 ExecutionContext *execution_context) {
53 m_value.Clear();
54}
static llvm::raw_ostream & error(Stream &strm)
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
void OptionParsingStarting(ExecutionContext *execution_context) override
Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value, ExecutionContext *execution_context) override
OptionGroupBoolean(uint32_t usage_mask, bool required, const char *long_option, int short_option, const char *usage_text, bool default_value, bool no_argument_toggle_default)
Status SetValueFromString(llvm::StringRef value, VarSetOperationType op=eVarSetOperationAssign) override
An error handling class.
Definition: Status.h:44
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
Definition: SBAddress.h:15
OptionValidator * validator
If non-NULL, option is valid iff |validator->IsValid()|, otherwise always valid.
const char * long_option
Full name for this option.
const char * usage_text
Full text explaining what this options does and what (if any) argument to pass it.
bool required
This option is required (in the current usage level).
uint32_t completion_type
The kind of completion for this option.
int option_has_arg
no_argument, required_argument or optional_argument
uint32_t usage_mask
Used to mark options that can be used together.
lldb::CommandArgumentType argument_type
Type of argument this option takes.
OptionEnumValues enum_values
If not empty, an array of enum values.
int short_option
Single character for this option.