Refactoring on the VariableValue class

This commit is contained in:
Felipe Zimmerle
2019-06-14 10:13:54 -03:00
parent cbd15ec138
commit 47dd9c5df4
16 changed files with 147 additions and 112 deletions

View File

@@ -53,14 +53,13 @@ void AnchoredSetVariable::set(const std::string &key,
const std::string &value, size_t offset, size_t len) {
std::unique_ptr<VariableOrigin> origin(new VariableOrigin());
std::string *v = new std::string(value);
VariableValue *var = new VariableValue(std::make_shared<std::string>(
m_name + ":" + key), v);
VariableValue *var = new VariableValue(&m_name, &key, v);
delete v;
origin->m_offset = offset;
origin->m_length = len;
var->m_orign.push_back(std::move(origin));
var->addOrigin(std::move(origin));
emplace(key, var);
}
@@ -69,14 +68,13 @@ void AnchoredSetVariable::set(const std::string &key,
const std::string &value, size_t offset) {
std::unique_ptr<VariableOrigin> origin(new VariableOrigin());
std::string *v = new std::string(value);
VariableValue *var = new VariableValue(std::make_shared<std::string>(
m_name + ":" + key), v);
VariableValue *var = new VariableValue(&m_name, &key, v);
delete v;
origin->m_offset = offset;
origin->m_length = value.size();
var->m_orign.push_back(std::move(origin));
var->addOrigin(std::move(origin));
emplace(key, var);
}
@@ -117,7 +115,7 @@ std::unique_ptr<std::string> AnchoredSetVariable::resolveFirst(
auto range = equal_range(key);
for (auto it = range.first; it != range.second; ++it) {
std::unique_ptr<std::string> b(new std::string());
b->assign(it->second->m_value);
b->assign(it->second->getValue());
return b;
}
return nullptr;