Evaluate n as a statement in the current context.

Do nothing if n is null. If n cannot be evaluated, then aborts.

Property definitions

nitc $ NaiveInterpreter :: stmt
	# Evaluate `n` as a statement in the current context.
	# Do nothing if `n` is null.
	# If `n` cannot be evaluated, then aborts.
	fun stmt(n: nullable AExpr)
	do
		if n == null then return

		if n.comprehension != null then
			var comprehension = frame.comprehension.as(not null)
			var i = expr(n)
			if i != null then comprehension.add(i)
			return
		end

		var frame = self.frame
		var old = frame.current_node
		frame.current_node = n
		n.stmt(self)
		frame.current_node = old
	end
src/interpreter/naive_interpreter.nit:186,2--205,4