Used when one need a more complex message.
Do not forget to call add_raw_abort
before the display of a custom user message.
# Generate abort without a message.
#
# Used when one need a more complex message.
# Do not forget to call `add_raw_abort` before the display of a custom user message.
fun add_raw_abort
do
var current_node = self.current_node
if current_node != null and current_node.location.file != null and
current_node.location.file.mmodule != null then
var f = "FILE_{self.current_node.location.file.mmodule.c_name}"
self.require_declaration(f)
self.add("PRINT_ERROR(\" (%s:%d)\\n\", {f}, {current_node.location.line_start});")
else
self.add("PRINT_ERROR(\"\\n\");")
end
self.add("fatal_exit(1);")
end
src/compiler/abstract_compiler.nit:1937,2--1953,4