summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/op.cc7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/op.cc b/src/op.cc
index 6a48d528..902ed647 100644
--- a/src/op.cc
+++ b/src/op.cc
@@ -105,17 +105,14 @@ value_t expr_t::op_t::calc(scope_t& scope, ptr_op_t * locus)
break;
case IDENT: {
- ptr_op_t def = left();
- if (! def)
- def = compile(scope);
- if (! def)
+ if (! left())
throw_(calc_error, "Unknown identifier '" << as_ident() << "'");
// Evaluating an identifier is the same as calling its definition
// directly, so we create an empty call_scope_t to reflect the scope for
// this implicit call.
call_scope_t call_args(scope);
- result = def->calc(call_args, locus);
+ result = left()->calc(call_args, locus);
break;
}