no curly brace. Step 7
# Generate the code for the body without return statement at the end and
# no curly brace.
# Step 7
protected fun body_to_c(v: VISITOR)
do
mmethoddef.compile_inside_to_c(v, v.frame.arguments)
end
src/compiler/abstract_compiler.nit:2216,2--2222,4
redef fun body_to_c(v)
do
var rta = v.compiler.as(SeparateCompiler).runtime_type_analysis
if rta != null and not rta.live_mmodules.has(mmethoddef.mclassdef.mmodule) then
v.add_abort("FATAL: Dead method executed.")
else
super
end
end
src/compiler/separate_compiler.nit:2527,2--2535,4
redef fun body_to_c(v)
do
assert not target_recv.need_anchor
var frame = v.frame
assert frame != null
var selfvar = frame.selfvar
var arguments = frame.arguments
var arguments2 = new Array[RuntimeVariable]
arguments2.push(v.autobox(selfvar, target_recv))
var resolved_sig = msignature.resolve_for(target_recv, target_recv.as(MClassType), v.mmodule, true)
for i in [0..resolved_sig.arity[ do
var param = resolved_sig.mparameters[i]
var mtype = param.mtype
if param.is_vararg then
mtype = v.mmodule.array_type(mtype)
end
var temp = v.autobox(arguments[i+1], mtype)
arguments2.push(temp)
end
v.add("/* {mmethoddef}, {recv_mtype.ctype} */")
var subret: nullable RuntimeVariable = null
if polymorph_call_flag then
subret = v.send(mmethoddef.mproperty, arguments2)
else
subret = v.call(mmethoddef, arguments2[0].mcasttype.as(MClassType), arguments2)
end
if has_return then
assert subret != null
var subret2 = v.autobox(subret, return_mtype.as(not null))
v.assign(frame.returnvar.as(not null), subret2)
end
end
src/compiler/abstract_compiler.nit:2313,2--2345,4