summaryrefslogtreecommitdiff
path: root/src/op.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/op.cc')
-rw-r--r--src/op.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/op.cc b/src/op.cc
index 86057f66..f4bc28fc 100644
--- a/src/op.cc
+++ b/src/op.cc
@@ -150,6 +150,15 @@ value_t expr_t::op_t::calc(scope_t& scope, ptr_op_t * locus, const int depth)
value_t result;
+#if defined(DEBUG_ON)
+ if (! skip_debug && SHOW_DEBUG("expr.calc")) {
+ for (int i = 0; i < depth; i++)
+ ledger::_log_buffer << '.';
+ ledger::_log_buffer << op_context(this) << " => ...";
+ DEBUG("expr.calc", "");
+ }
+#endif
+
switch (kind) {
case VALUE:
result = as_value();
@@ -252,6 +261,21 @@ value_t expr_t::op_t::calc(scope_t& scope, ptr_op_t * locus, const int depth)
if (! func)
throw_(calc_error, _("Calling unknown function '%1'") << name);
+#if defined(DEBUG_ON)
+ if (! skip_debug && SHOW_DEBUG("expr.calc")) {
+ for (int i = 0; i < depth; i++)
+ ledger::_log_buffer << '.';
+ ledger::_log_buffer << " args: ";
+ if (call_args.args.is_sequence()) {
+ foreach (value_t& arg, call_args)
+ ledger::_log_buffer << arg << " ";
+ } else {
+ ledger::_log_buffer << call_args.args[0] << " ";
+ }
+ DEBUG("expr.calc", "");
+ }
+#endif
+
if (func->is_function())
result = func->as_function()(call_args);
else