nitc :: AAttrPropdef :: evaluate_expr
private fun evaluate_expr(v: NaiveInterpreter, recv: Instance, f: Frame): Instance
do
assert recv isa MutableInstance
v.frames.unshift(f)
var val
var nexpr = self.n_expr
var nblock = self.n_block
if nexpr != null then
val = v.expr(nexpr)
else if nblock != null then
v.stmt(nblock)
assert v.escapemark == return_mark
val = v.escapevalue
v.escapemark = null
else
abort
end
assert val != null
v.frames.shift
assert not v.is_escaping
v.write_attribute(self.mpropdef.mproperty, recv, val)
return val
end
src/interpreter/naive_interpreter.nit:1598,2--1623,4