summaryrefslogtreecommitdiff
path: root/source/Interpreter/OptionValueString.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Interpreter/OptionValueString.cpp')
-rw-r--r--source/Interpreter/OptionValueString.cpp148
1 files changed, 0 insertions, 148 deletions
diff --git a/source/Interpreter/OptionValueString.cpp b/source/Interpreter/OptionValueString.cpp
deleted file mode 100644
index a519249ab472..000000000000
--- a/source/Interpreter/OptionValueString.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-//===-- OptionValueString.cpp ------------------------------------*- C++
-//-*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/Interpreter/OptionValueString.h"
-
-#include "lldb/Host/OptionParser.h"
-#include "lldb/Utility/Args.h"
-#include "lldb/Utility/Stream.h"
-
-using namespace lldb;
-using namespace lldb_private;
-
-void OptionValueString::DumpValue(const ExecutionContext *exe_ctx, Stream &strm,
- uint32_t dump_mask) {
- if (dump_mask & eDumpOptionType)
- strm.Printf("(%s)", GetTypeAsCString());
- if (dump_mask & eDumpOptionValue) {
- if (dump_mask & eDumpOptionType)
- strm.PutCString(" = ");
- if (!m_current_value.empty() || m_value_was_set) {
- if (m_options.Test(eOptionEncodeCharacterEscapeSequences)) {
- std::string expanded_escape_value;
- Args::ExpandEscapedCharacters(m_current_value.c_str(),
- expanded_escape_value);
- if (dump_mask & eDumpOptionRaw)
- strm.Printf("%s", expanded_escape_value.c_str());
- else
- strm.Printf("\"%s\"", expanded_escape_value.c_str());
- } else {
- if (dump_mask & eDumpOptionRaw)
- strm.Printf("%s", m_current_value.c_str());
- else
- strm.Printf("\"%s\"", m_current_value.c_str());
- }
- }
- }
-}
-
-Status OptionValueString::SetValueFromString(llvm::StringRef value,
- VarSetOperationType op) {
- Status error;
-
- std::string value_str = value.str();
- value = value.trim();
- if (value.size() > 0) {
- switch (value.front()) {
- case '"':
- case '\'': {
- if (value.size() <= 1 || value.back() != value.front()) {
- error.SetErrorString("mismatched quotes");
- return error;
- }
- value = value.drop_front().drop_back();
- } break;
- }
- value_str = value.str();
- }
-
- switch (op) {
- case eVarSetOperationInvalid:
- case eVarSetOperationInsertBefore:
- case eVarSetOperationInsertAfter:
- case eVarSetOperationRemove:
- if (m_validator) {
- error = m_validator(value_str.c_str(), m_validator_baton);
- if (error.Fail())
- return error;
- }
- error = OptionValue::SetValueFromString(value, op);
- break;
-
- case eVarSetOperationAppend: {
- std::string new_value(m_current_value);
- if (value.size() > 0) {
- if (m_options.Test(eOptionEncodeCharacterEscapeSequences)) {
- std::string str;
- Args::EncodeEscapeSequences(value_str.c_str(), str);
- new_value.append(str);
- } else
- new_value.append(value);
- }
- if (m_validator) {
- error = m_validator(new_value.c_str(), m_validator_baton);
- if (error.Fail())
- return error;
- }
- m_current_value.assign(new_value);
- NotifyValueChanged();
- } break;
-
- case eVarSetOperationClear:
- Clear();
- NotifyValueChanged();
- break;
-
- case eVarSetOperationReplace:
- case eVarSetOperationAssign:
- if (m_validator) {
- error = m_validator(value_str.c_str(), m_validator_baton);
- if (error.Fail())
- return error;
- }
- m_value_was_set = true;
- if (m_options.Test(eOptionEncodeCharacterEscapeSequences)) {
- Args::EncodeEscapeSequences(value_str.c_str(), m_current_value);
- } else {
- SetCurrentValue(value_str);
- }
- NotifyValueChanged();
- break;
- }
- return error;
-}
-
-lldb::OptionValueSP OptionValueString::DeepCopy() const {
- return OptionValueSP(new OptionValueString(*this));
-}
-
-Status OptionValueString::SetCurrentValue(llvm::StringRef value) {
- if (m_validator) {
- Status error(m_validator(value.str().c_str(), m_validator_baton));
- if (error.Fail())
- return error;
- }
- m_current_value.assign(value);
- return Status();
-}
-
-Status OptionValueString::AppendToCurrentValue(const char *value) {
- if (value && value[0]) {
- if (m_validator) {
- std::string new_value(m_current_value);
- new_value.append(value);
- Status error(m_validator(value, m_validator_baton));
- if (error.Fail())
- return error;
- m_current_value.assign(new_value);
- } else
- m_current_value.append(value);
- }
- return Status();
-}