# If `e` is null, nothing is done.
fun enter_visit(e: nullable MEntity) do
if e == null then return
+ if e.is_fictive and not include_fictive then return
var old_entity = current_entity
current_entity = e
visit(e)
var min = min_visibility
return min == null or min <= visibility
end
+
+ # Include fictive entities?
+ #
+ # By default, fictive entities (see `MEntity::is_fictive`) are not visited.
+ var include_fictive = false is writable
end
redef class MEntity