Module Visitor


module Visitor: sig .. end
Frama-C visitors dealing with projects.
Consult the Plugin Development Guide for additional details.


Frama-C visitors dealing with projects.
class type frama_c_visitor = object .. end
Class type for a Db-aware visitor.
class generic_frama_c_visitor : Project.t -> Cil.visitor_behavior -> frama_c_visitor
Generic visitor.
class frama_c_copy : Project.t -> frama_c_visitor
Copying visitor
class frama_c_inplace : frama_c_visitor
in-place visit.
val visitFramacFileCopy : frama_c_visitor -> Cil_types.file -> Cil_types.file
Visit a file. This will will re-cons all globals TWICE (so that it is tail-recursive). Use Cil.visitCilFileSameGlobals if your visitor will not change the list of globals.
Consult the Plugin Development Guide for additional details.
val visitFramacFile : frama_c_visitor -> Cil_types.file -> unit
Same thing, but the result is ignored. The given visitor must thus be an inplace visitor. Nothing is done if the visitor is a copy visitor.
Consult the Plugin Development Guide for additional details.
val visitFramacFileSameGlobals : frama_c_visitor -> Cil_types.file -> unit
A visitor for the whole file that does not change the globals (but maybe changes things inside the globals). Use this function instead of Visitor.visitFramacFile whenever appropriate because it is more efficient for long files.
Consult the Plugin Development Guide for additional details.
val visitFramacGlobal : frama_c_visitor -> Cil_types.global -> Cil_types.global list
Visit a global
val visitFramacFunction : frama_c_visitor -> Cil_types.fundec -> Cil_types.fundec
Visit a function definition
val visitFramacExpr : frama_c_visitor -> Cil_types.exp -> Cil_types.exp
Visit an expression
val visitFramacLval : frama_c_visitor -> Cil_types.lval -> Cil_types.lval
Visit an lvalue
val visitFramacOffset : frama_c_visitor -> Cil_types.offset -> Cil_types.offset
Visit an lvalue or recursive offset
val visitFramacInitOffset : frama_c_visitor -> Cil_types.offset -> Cil_types.offset
Visit an initializer offset
val visitFramacInstr : frama_c_visitor -> Cil_types.instr -> Cil_types.instr list
Visit an instruction
val visitFramacStmt : frama_c_visitor -> Cil_types.stmt -> Cil_types.stmt
Visit a statement
val visitFramacBlock : frama_c_visitor -> Cil_types.block -> Cil_types.block
Visit a block
val visitFramacType : frama_c_visitor -> Cil_types.typ -> Cil_types.typ
Visit a type
val visitFramacVarDecl : frama_c_visitor -> Cil_types.varinfo -> Cil_types.varinfo
Visit a variable declaration
val visitFramacInit : frama_c_visitor ->
Cil_types.varinfo -> Cil_types.offset -> Cil_types.init -> Cil_types.init
Visit an initializer, pass also the global to which this belongs and the offset.
val visitFramacAttributes : frama_c_visitor ->
Cil_types.attribute list -> Cil_types.attribute list
Visit a list of attributes
val visitFramacAnnotation : frama_c_visitor ->
Cil_types.global_annotation -> Cil_types.global_annotation
val visitFramacCodeAnnotation : frama_c_visitor ->
Cil_types.code_annotation -> Cil_types.code_annotation
val visitFramacAssigns : frama_c_visitor ->
Cil_types.identified_term Cil_types.assigns ->
Cil_types.identified_term Cil_types.assigns
val visitFramacFrom : frama_c_visitor ->
Cil_types.identified_term Cil_types.from ->
Cil_types.identified_term Cil_types.from
val visitFramacDeps : frama_c_visitor ->
Cil_types.identified_term Cil_types.deps ->
Cil_types.identified_term Cil_types.deps
val visitFramacFunspec : frama_c_visitor -> Cil_types.funspec -> Cil_types.funspec
val visitFramacLogicType : frama_c_visitor -> Cil_types.logic_type -> Cil_types.logic_type
val visitFramacPredicate : frama_c_visitor -> Cil_types.predicate -> Cil_types.predicate
val visitFramacPredicateNamed : frama_c_visitor ->
Cil_types.predicate Cil_types.named -> Cil_types.predicate Cil_types.named
val visitFramacIdPredicate : frama_c_visitor ->
Cil_types.identified_predicate -> Cil_types.identified_predicate
val visitFramacPredicates : frama_c_visitor ->
Cil_types.identified_predicate list -> Cil_types.identified_predicate list
val visitFramacTerm : frama_c_visitor -> Cil_types.term -> Cil_types.term
val visitFramacTermLval : frama_c_visitor -> Cil_types.term_lval -> Cil_types.term_lval
val visitFramacTermLhost : frama_c_visitor -> Cil_types.term_lhost -> Cil_types.term_lhost
val visitFramacTermOffset : frama_c_visitor -> Cil_types.term_offset -> Cil_types.term_offset
val visitFramacLogicInfo : frama_c_visitor -> Cil_types.logic_info -> Cil_types.logic_info
val visitFramacBehavior : frama_c_visitor -> Cil_types.funbehavior -> Cil_types.funbehavior
val visitFramacBehaviors : frama_c_visitor ->
Cil_types.funbehavior list -> Cil_types.funbehavior list