@@ -31,19 +31,9 @@ AnchoredVariable::AnchoredVariable(Transaction *t,
3131 const std::string &name)
3232 : m_transaction(t),
3333 m_offset (0 ),
34- m_name(" " ),
34+ m_name(name ),
3535 m_value(" " ),
36- m_var(NULL ) {
37- m_name.append (name);
38- m_var = new VariableValue (&m_name);
39- }
40-
41-
42- AnchoredVariable::~AnchoredVariable () {
43- if (m_var) {
44- delete (m_var);
45- m_var = NULL ;
46- }
36+ m_var(&name) {
4737}
4838
4939
@@ -56,38 +46,14 @@ void AnchoredVariable::set(const std::string &a, size_t offset,
5646 size_t offsetLen) {
5747 m_offset = offset;
5848 m_value.assign (a.c_str (), a.size ());
59- m_var-> addOrigin (offsetLen, offset);
49+ m_var. addOrigin (offsetLen, offset);
6050}
6151
6252
6353void AnchoredVariable::set (const std::string &a, size_t offset) {
6454 m_offset = offset;
6555 m_value.assign (a.c_str (), a.size ());
66- m_var->addOrigin (m_value.size (), offset);
67- }
68-
69-
70- void AnchoredVariable::append (const std::string &a, size_t offset,
71- bool spaceSeparator) {
72- if (spaceSeparator && !m_value.empty ()) {
73- m_value.append (" " + a);
74- } else {
75- m_value.append (a);
76- }
77- m_offset = offset;
78- m_var->addOrigin (a.size (), offset);
79- }
80-
81-
82- void AnchoredVariable::append (const std::string &a, size_t offset,
83- bool spaceSeparator, size_t size) {
84- if (spaceSeparator && !m_value.empty ()) {
85- m_value.append (" " + a);
86- } else {
87- m_value.append (a);
88- }
89- m_offset = offset;
90- m_var->addOrigin ({size, offset});
56+ m_var.addOrigin (m_value.size (), offset);
9157}
9258
9359
@@ -96,9 +62,8 @@ void AnchoredVariable::evaluate(std::vector<const VariableValue *> *l) {
9662 return ;
9763 }
9864
99- m_var->setValue (m_value);
100- VariableValue *m_var2 = new VariableValue (m_var);
101- l->push_back (m_var2);
65+ m_var.setValue (m_value);
66+ l->push_back (new VariableValue (&m_var));
10267}
10368
10469
@@ -111,9 +76,7 @@ std::unique_ptr<std::string> AnchoredVariable::resolveFirst() {
11176 if (m_value.empty ()) {
11277 return nullptr ;
11378 }
114- std::unique_ptr<std::string> a (new std::string ());
115- a->append (m_value);
116- return a;
79+ return std::make_unique<std::string>(m_value);
11780}
11881
11982
0 commit comments