@@ -31,19 +31,9 @@ AnchoredVariable::AnchoredVariable(Transaction *t,
31
31
const std::string &name)
32
32
: m_transaction(t),
33
33
m_offset (0 ),
34
- m_name(" " ),
34
+ m_name(name ),
35
35
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) {
47
37
}
48
38
49
39
@@ -56,38 +46,14 @@ void AnchoredVariable::set(const std::string &a, size_t offset,
56
46
size_t offsetLen) {
57
47
m_offset = offset;
58
48
m_value.assign (a.c_str (), a.size ());
59
- m_var-> addOrigin (offsetLen, offset);
49
+ m_var. addOrigin (offsetLen, offset);
60
50
}
61
51
62
52
63
53
void AnchoredVariable::set (const std::string &a, size_t offset) {
64
54
m_offset = offset;
65
55
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);
91
57
}
92
58
93
59
@@ -96,9 +62,8 @@ void AnchoredVariable::evaluate(std::vector<const VariableValue *> *l) {
96
62
return ;
97
63
}
98
64
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));
102
67
}
103
68
104
69
@@ -111,9 +76,7 @@ std::unique_ptr<std::string> AnchoredVariable::resolveFirst() {
111
76
if (m_value.empty ()) {
112
77
return nullptr ;
113
78
}
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);
117
80
}
118
81
119
82
0 commit comments