Property definitions

nitc :: naive_interpreter $ 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