class type frama_c_visitor =Class type for a Db-aware visitor. This is done by defining auxiliary methods that can be redefined in inherited classes, while the corresponding ones fromobject
..end
Cil.cilVisitor
must retain their values as defined here. Otherwise,
annotations may not be visited properly. The replaced functions arevstmt
(use vstmt_aux
instead)vglob
(use vglob_aux
instead)
File.init_project_from_visitor
), use a visitor with copy behaviorSkipChildren
and ChangeTo
must be used with extreme care in a visitor
with copy behavior, or some nodes may be shared between the original and
the copy.generic_frama_c_visitor
will know what to do.vid
or sid
: this must be done before
anything has been attached to the corresponding variable or
statement in the new project, which meansvstmt
, for the current statement onlymethod frama_c_plain_copy : frama_c_visitor
method vstmt_aux : Cil_types.stmt -> Cil_types.stmt Cil.visitAction
method vglob_aux : Cil_types.global -> Cil_types.global list Cil.visitAction
method vrooted_code_annotation : Db_types.rooted_code_annotation ->
Db_types.rooted_code_annotation list Cil.visitAction
method is_annot_before : bool
Error
if not called while visiting a statement.method current_kf : Db_types.kernel_function option
method set_current_kf : Db_types.kernel_function -> unit
method reset_current_kf : unit -> unit