diff options
author | Ed Maste <emaste@FreeBSD.org> | 2015-02-06 22:25:21 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2015-02-06 22:25:21 +0000 |
commit | 7aa51b7949660007cdf82cd56e16df87703f9319 (patch) | |
tree | 5e5b6a0774e0d93bb4cfa2f9f83b9c41b38c4448 /contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp | |
parent | bd9cc051b34cdcd5148e03e92ed404a0587bacff (diff) | |
parent | 205afe679855a4ce8149cdaa94d3f0868ce796dc (diff) |
Update LLDB snapshot to upstream r225923 (git 2b588ecd)
Sponsored by: DARPA, AFRL
Notes
Notes:
svn path=/projects/clang360-import/; revision=278334
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp b/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp index bc1e1c4c4779..a08a6127db15 100644 --- a/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp +++ b/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp @@ -71,6 +71,21 @@ OptionValue::GetAsBoolean () const return nullptr; } +const OptionValueChar * +OptionValue::GetAsChar () const +{ + if (GetType () == OptionValue::eTypeChar) + return static_cast<const OptionValueChar *>(this); + return nullptr; +} + +OptionValueChar * +OptionValue::GetAsChar () +{ + if (GetType () == OptionValue::eTypeChar) + return static_cast<OptionValueChar *>(this); + return nullptr; +} OptionValueFileSpec * OptionValue::GetAsFileSpec () @@ -342,6 +357,27 @@ OptionValue::SetBooleanValue (bool new_value) return false; } +char +OptionValue::GetCharValue(char fail_value) const +{ + const OptionValueChar *option_value = GetAsChar(); + if (option_value) + return option_value->GetCurrentValue(); + return fail_value; +} + +char +OptionValue::SetCharValue(char new_value) +{ + OptionValueChar *option_value = GetAsChar(); + if (option_value) + { + option_value->SetCurrentValue(new_value); + return true; + } + return false; +} + int64_t OptionValue::GetEnumerationValue (int64_t fail_value) const { @@ -520,6 +556,8 @@ OptionValue::GetBuiltinTypeAsCString (Type t) case eTypeArgs: return "arguments"; case eTypeArray: return "array"; case eTypeBoolean: return "boolean"; + case eTypeChar: + return "char"; case eTypeDictionary: return "dictionary"; case eTypeEnum: return "enum"; case eTypeFileSpec: return "file"; @@ -547,6 +585,7 @@ OptionValue::CreateValueFromCStringForTypeMask (const char *value_cstr, uint32_t { case 1u << eTypeArch: value_sp.reset(new OptionValueArch()); break; case 1u << eTypeBoolean: value_sp.reset(new OptionValueBoolean(false)); break; + case 1u << eTypeChar: value_sp.reset(new OptionValueChar('\0')); break; case 1u << eTypeFileSpec: value_sp.reset(new OptionValueFileSpec()); break; case 1u << eTypeFormat: value_sp.reset(new OptionValueFormat(eFormatInvalid)); break; case 1u << eTypeSInt64: value_sp.reset(new OptionValueSInt64()); break; |