This simple flag is set by a given analysis to say that the node is broken and unusable in an execution. When a node status is set to broken, it is usually associated with a error message.
If it is safe to do so, clients of the AST SHOULD just skip broken nodes in their processing. Clients that do not care about the executability (e.g. metrics) MAY still process the node or perform specific checks to determinate the validity of the node.
Note that the broken status is not propagated to parent or children nodes. e.g. a broken expression used as argument does not make the whole call broken.
# The indication that the node did not pass some semantic verifications.
#
# This simple flag is set by a given analysis to say that the node is broken and unusable in
# an execution.
# When a node status is set to broken, it is usually associated with a error message.
#
# If it is safe to do so, clients of the AST SHOULD just skip broken nodes in their processing.
# Clients that do not care about the executability (e.g. metrics) MAY still process the node or
# perform specific checks to determinate the validity of the node.
#
# Note that the broken status is not propagated to parent or children nodes.
# e.g. a broken expression used as argument does not make the whole call broken.
var is_broken = false is writable
src/modelbuilder_base.nit:532,2--544,34