25 switch (definition.
type) {
26 case OptionValue::eTypeInvalid:
27 case OptionValue::eTypeProperties:
29 case OptionValue::eTypeArch:
34 std::make_shared<OptionValueArch>(definition.default_cstr_value);
37 case OptionValue::eTypeArgs:
39 m_value_sp = std::make_shared<OptionValueArgs>();
42 case OptionValue::eTypeArray:
45 std::make_shared<OptionValueArray>(OptionValue::ConvertTypeToMask(
46 (OptionValue::Type)definition.default_uint_value));
49 case OptionValue::eTypeBoolean:
54 if (definition.default_cstr_value)
56 std::make_shared<OptionValueBoolean>(OptionArgParser::ToBoolean(
57 llvm::StringRef(definition.default_cstr_value), false, nullptr));
59 m_value_sp = std::make_shared<OptionValueBoolean>(
60 definition.default_uint_value != 0);
63 case OptionValue::eTypeChar: {
64 llvm::StringRef s(definition.default_cstr_value ? definition.default_cstr_value :
"");
65 m_value_sp = std::make_shared<OptionValueChar>(
66 OptionArgParser::ToChar(s,
'\0', nullptr));
71 m_value_sp = std::make_shared<OptionValueDictionary>(
83 OptionValueEnumeration *enum_value = new OptionValueEnumeration(
84 definition.enum_values, definition.default_uint_value);
85 m_value_sp.reset(enum_value);
86 if (definition.default_cstr_value) {
89 llvm::StringRef(definition.default_cstr_value))
91 enum_value->SetDefaultValue(enum_value->GetCurrentValue());
105 m_value_sp = std::make_shared<OptionValueFileColonLine>();
111 const bool resolve = definition.default_uint_value != 0;
115 m_value_sp = std::make_shared<OptionValueFileSpec>(file_spec, resolve);
122 m_value_sp = std::make_shared<OptionValueFileSpecList>();
132 if (definition.default_cstr_value)
136 new_format = (
Format)definition.default_uint_value;
137 m_value_sp = std::make_shared<OptionValueFormat>(new_format);
148 if (definition.default_cstr_value)
150 llvm::StringRef(definition.default_cstr_value));
153 m_value_sp = std::make_shared<OptionValueLanguage>(new_lang);
160 m_value_sp = std::make_shared<OptionValueFormatEntity>(
161 definition.default_cstr_value);
167 m_value_sp = std::make_shared<OptionValuePathMappings>(
168 definition.default_uint_value != 0);
176 std::make_shared<OptionValueRegex>(definition.default_cstr_value);
186 if (definition.default_cstr_value)
187 llvm::to_integer(definition.default_cstr_value, value);
188 m_value_sp = std::make_shared<OptionValueSInt64>(
189 definition.default_cstr_value ? value : definition.default_uint_value);
195 if (definition.default_cstr_value)
196 llvm::to_integer(definition.default_cstr_value, value);
201 m_value_sp = std::make_shared<OptionValueUInt64>(
202 definition.default_cstr_value ? value : definition.default_uint_value);
210 if (definition.default_cstr_value)
212 m_value_sp = std::make_shared<OptionValueUUID>(uuid);
223 if (definition.default_uint_value != 0)
225 m_value_sp.reset(string_value);
229 assert(m_value_sp &&
"invalid property definition");
"lldb/Target/ExecutionContext.h" A class that contains an execution context.