nitc :: AAssertExpr :: explain_assert
# Explain assert if it fails
private fun explain_assert(v: AbstractCompilerVisitor)
do
var explain_assert_str = explain_assert_str
if explain_assert_str == null then return
var nas = v.compiler.modelbuilder.model.get_mclasses_by_name("NativeArray")
if nas == null then return
nas = v.compiler.modelbuilder.model.get_mclasses_by_name("Array")
if nas == null or nas.is_empty then return
var expr = explain_assert_str.expr(v)
if expr == null then return
var cstr = v.send(v.get_property("to_cstring", expr.mtype), [expr])
if cstr == null then return
v.add "PRINT_ERROR(\"Runtime assert: %s\\n\", {cstr});"
end
src/compiler/abstract_compiler.nit:4013,2--4032,4