summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter/OptionValueBoolean.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Interpreter/OptionValueBoolean.cpp')
-rw-r--r--lldb/source/Interpreter/OptionValueBoolean.cpp182
1 files changed, 78 insertions, 104 deletions
diff --git a/lldb/source/Interpreter/OptionValueBoolean.cpp b/lldb/source/Interpreter/OptionValueBoolean.cpp
index 4ba03d250ac..dbbd46ea093 100644
--- a/lldb/source/Interpreter/OptionValueBoolean.cpp
+++ b/lldb/source/Interpreter/OptionValueBoolean.cpp
@@ -1,4 +1,5 @@
-//===-- OptionValueBoolean.cpp ------------------------------------*- C++ -*-===//
+//===-- OptionValueBoolean.cpp ------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -22,117 +23,90 @@
using namespace lldb;
using namespace lldb_private;
-void
-OptionValueBoolean::DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask)
-{
+void OptionValueBoolean::DumpValue(const ExecutionContext *exe_ctx,
+ Stream &strm, uint32_t dump_mask) {
+ if (dump_mask & eDumpOptionType)
+ strm.Printf("(%s)", GetTypeAsCString());
+ // if (dump_mask & eDumpOptionName)
+ // DumpQualifiedName (strm);
+ if (dump_mask & eDumpOptionValue) {
if (dump_mask & eDumpOptionType)
- strm.Printf ("(%s)", GetTypeAsCString ());
-// if (dump_mask & eDumpOptionName)
-// DumpQualifiedName (strm);
- if (dump_mask & eDumpOptionValue)
- {
- if (dump_mask & eDumpOptionType)
- strm.PutCString (" = ");
- strm.PutCString (m_current_value ? "true" : "false");
- }
+ strm.PutCString(" = ");
+ strm.PutCString(m_current_value ? "true" : "false");
+ }
}
-Error
-OptionValueBoolean::SetValueFromString (llvm::StringRef value_str,
- VarSetOperationType op)
-{
- Error error;
- switch (op)
- {
- case eVarSetOperationClear:
- Clear();
- NotifyValueChanged();
- break;
-
- case eVarSetOperationReplace:
- case eVarSetOperationAssign:
- {
- bool success = false;
- bool value = Args::StringToBoolean(value_str.str().c_str(), false, &success);
- if (success)
- {
- m_value_was_set = true;
- m_current_value = value;
- NotifyValueChanged();
- }
- else
- {
- if (value_str.size() == 0)
- error.SetErrorString ("invalid boolean string value <empty>");
- else
- error.SetErrorStringWithFormat ("invalid boolean string value: '%s'",
- value_str.str().c_str());
- }
- }
- break;
+Error OptionValueBoolean::SetValueFromString(llvm::StringRef value_str,
+ VarSetOperationType op) {
+ Error error;
+ switch (op) {
+ case eVarSetOperationClear:
+ Clear();
+ NotifyValueChanged();
+ break;
- case eVarSetOperationInsertBefore:
- case eVarSetOperationInsertAfter:
- case eVarSetOperationRemove:
- case eVarSetOperationAppend:
- case eVarSetOperationInvalid:
- error = OptionValue::SetValueFromString (value_str, op);
- break;
+ case eVarSetOperationReplace:
+ case eVarSetOperationAssign: {
+ bool success = false;
+ bool value =
+ Args::StringToBoolean(value_str.str().c_str(), false, &success);
+ if (success) {
+ m_value_was_set = true;
+ m_current_value = value;
+ NotifyValueChanged();
+ } else {
+ if (value_str.size() == 0)
+ error.SetErrorString("invalid boolean string value <empty>");
+ else
+ error.SetErrorStringWithFormat("invalid boolean string value: '%s'",
+ value_str.str().c_str());
}
- return error;
-}
+ } break;
-lldb::OptionValueSP
-OptionValueBoolean::DeepCopy () const
-{
- return OptionValueSP(new OptionValueBoolean(*this));
+ case eVarSetOperationInsertBefore:
+ case eVarSetOperationInsertAfter:
+ case eVarSetOperationRemove:
+ case eVarSetOperationAppend:
+ case eVarSetOperationInvalid:
+ error = OptionValue::SetValueFromString(value_str, op);
+ break;
+ }
+ return error;
}
-size_t
-OptionValueBoolean::AutoComplete (CommandInterpreter &interpreter,
- const char *s,
- int match_start_point,
- int max_return_elements,
- bool &word_complete,
- StringList &matches)
-{
- word_complete = false;
- matches.Clear();
- struct StringEntry {
- const char *string;
- const size_t length;
- };
- static const StringEntry g_autocomplete_entries[] =
- {
- { "true" , 4 },
- { "false", 5 },
- { "on" , 2 },
- { "off" , 3 },
- { "yes" , 3 },
- { "no" , 2 },
- { "1" , 1 },
- { "0" , 1 },
- };
- const size_t k_num_autocomplete_entries = llvm::array_lengthof(g_autocomplete_entries);
-
- if (s && s[0])
- {
- const size_t s_len = strlen(s);
- for (size_t i=0; i<k_num_autocomplete_entries; ++i)
- {
- if (s_len <= g_autocomplete_entries[i].length)
- if (::strncasecmp(s, g_autocomplete_entries[i].string, s_len) == 0)
- matches.AppendString(g_autocomplete_entries[i].string);
- }
- }
- else
- {
- // only suggest "true" or "false" by default
- for (size_t i=0; i<2; ++i)
- matches.AppendString(g_autocomplete_entries[i].string);
- }
- return matches.GetSize();
+lldb::OptionValueSP OptionValueBoolean::DeepCopy() const {
+ return OptionValueSP(new OptionValueBoolean(*this));
}
+size_t OptionValueBoolean::AutoComplete(CommandInterpreter &interpreter,
+ const char *s, int match_start_point,
+ int max_return_elements,
+ bool &word_complete,
+ StringList &matches) {
+ word_complete = false;
+ matches.Clear();
+ struct StringEntry {
+ const char *string;
+ const size_t length;
+ };
+ static const StringEntry g_autocomplete_entries[] = {
+ {"true", 4}, {"false", 5}, {"on", 2}, {"off", 3},
+ {"yes", 3}, {"no", 2}, {"1", 1}, {"0", 1},
+ };
+ const size_t k_num_autocomplete_entries =
+ llvm::array_lengthof(g_autocomplete_entries);
-
+ if (s && s[0]) {
+ const size_t s_len = strlen(s);
+ for (size_t i = 0; i < k_num_autocomplete_entries; ++i) {
+ if (s_len <= g_autocomplete_entries[i].length)
+ if (::strncasecmp(s, g_autocomplete_entries[i].string, s_len) == 0)
+ matches.AppendString(g_autocomplete_entries[i].string);
+ }
+ } else {
+ // only suggest "true" or "false" by default
+ for (size_t i = 0; i < 2; ++i)
+ matches.AppendString(g_autocomplete_entries[i].string);
+ }
+ return matches.GetSize();
+}
OpenPOWER on IntegriCloud