summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/output.cc20
-rw-r--r--src/scope.h5
2 files changed, 9 insertions, 16 deletions
diff --git a/src/output.cc b/src/output.cc
index f53e60c9..9d2e0cb6 100644
--- a/src/output.cc
+++ b/src/output.cc
@@ -90,14 +90,10 @@ void format_posts::operator()(post_t& post)
else
out << '\n';
- value_scope_t val_scope(string_value(report_title));
- bind_scope_t inner_scope(bound_scope, val_scope);
-
- format_t group_title_format;
- group_title_format
- .parse_format(report.HANDLER(group_title_format_).str());
+ value_scope_t val_scope(bound_scope, string_value(report_title));
+ format_t group_title_format(report.HANDLER(group_title_format_).str());
- out << group_title_format(inner_scope);
+ out << group_title_format(val_scope);
report_title = "";
}
@@ -176,14 +172,10 @@ std::size_t format_accounts::post_account(account_t& account, const bool flat)
else
out << '\n';
- value_scope_t val_scope(string_value(report_title));
- bind_scope_t inner_scope(bound_scope, val_scope);
-
- format_t group_title_format;
- group_title_format
- .parse_format(report.HANDLER(group_title_format_).str());
+ value_scope_t val_scope(bound_scope, string_value(report_title));
+ format_t group_title_format(report.HANDLER(group_title_format_).str());
- out << group_title_format(inner_scope);
+ out << group_title_format(val_scope);
report_title = "";
}
diff --git a/src/scope.h b/src/scope.h
index dac6eba3..8b4a9380 100644
--- a/src/scope.h
+++ b/src/scope.h
@@ -605,7 +605,7 @@ call_scope_t::get<expr_t::ptr_op_t>(std::size_t index, bool) {
return args[index].as_any<expr_t::ptr_op_t>();
}
-class value_scope_t : public scope_t
+class value_scope_t : public child_scope_t
{
value_t value;
@@ -614,7 +614,8 @@ class value_scope_t : public scope_t
}
public:
- value_scope_t(const value_t& _value) : value(_value) {}
+ value_scope_t(scope_t& _parent, const value_t& _value)
+ : child_scope_t(_parent), value(_value) {}
virtual expr_t::ptr_op_t lookup(const symbol_t::kind_t kind,
const string& name)