package frama-c
Install
dune-project
Dependency
Authors
-
MMichele Alberti
-
TThibaud Antignac
-
GGergö Barany
-
PPatrick Baudin
-
NNicolas Bellec
-
TThibaut Benjamin
-
AAllan Blanchard
-
LLionel Blatter
-
FFrançois Bobot
-
RRichard Bonichon
-
VVincent Botbol
-
QQuentin Bouillaguet
-
DDavid Bühler
-
ZZakaria Chihani
-
LLoïc Correnson
-
JJulien Crétin
-
PPascal Cuoq
-
ZZaynah Dargaye
-
BBasile Desloges
-
JJean-Christophe Filliâtre
-
PPhilippe Herrmann
-
MMaxime Jacquemin
-
FFlorent Kirchner
-
AAlexander Kogtenkov
-
RRemi Lazarini
-
TTristan Le Gall
-
JJean-Christophe Léchenet
-
MMatthieu Lemerre
-
DDara Ly
-
DDavid Maison
-
CClaude Marché
-
AAndré Maroneze
-
TThibault Martin
-
FFonenantsoa Maurica
-
MMelody Méaulle
-
BBenjamin Monate
-
YYannick Moy
-
PPierre Nigron
-
AAnne Pacalet
-
VValentin Perrelle
-
GGuillaume Petiot
-
DDario Pinto
-
VVirgile Prevosto
-
AArmand Puccetti
-
FFélix Ridoux
-
VVirgile Robles
-
JJan Rochel
-
MMuriel Roger
-
JJulien Signoles
-
NNicolas Stouls
-
KKostyantyn Vorobyov
-
BBoris Yakobowski
Maintainers
Sources
sha256=d2fbb3b8d0ff83945872e9e6fa258e934a706360e698dae3b4d5f971addf7493
doc/frama-c.kernel/Frama_c_kernel/Cil/class-nopCilVisitor/index.html
Class Cil.nopCilVisitor
Default in place visitor doing nothing and operating on current project.
method behavior : Frama_c_kernel.Visitor_behavior.tthe kind of behavior expected for the behavior.
method project : Frama_c_kernel.Project.t optionProject the visitor operates on. Non-nil for copy visitor.
method plain_copy_visitor : cilVisitora visitor who only does copies of the nodes according to behavior
method vfile : Frama_c_kernel.Cil_types.file ->
Frama_c_kernel.Cil_types.file visitActionvisit a whole file.
method vvdec : Frama_c_kernel.Cil_types.varinfo ->
Frama_c_kernel.Cil_types.varinfo visitActionInvoked for each variable declaration. The children to be traversed are those corresponding to the type and attributes of the variable. Note that variable declarations are GVar, GVarDecl, GFun and GFunDecl globals, the formals of functions prototypes, and the formals and locals of function definitions. This means that the list of formals of a function may be traversed multiple times if there exists both a declaration and a definition, or multiple declarations.
method vvrbl : Frama_c_kernel.Cil_types.varinfo ->
Frama_c_kernel.Cil_types.varinfo visitActionInvoked on each variable use. Here only the SkipChildren and ChangeTo actions make sense since there are no subtrees. Note that the type and attributes of the variable are not traversed for a variable use.
method vexpr : Frama_c_kernel.Cil_types.exp ->
Frama_c_kernel.Cil_types.exp visitActionInvoked on each expression occurrence. The subtrees are the subexpressions, the types (for a Cast or SizeOf expression) or the variable use.
method vlval : Frama_c_kernel.Cil_types.lval ->
Frama_c_kernel.Cil_types.lval visitActionInvoked on each lvalue occurrence
method voffs : Frama_c_kernel.Cil_types.offset ->
Frama_c_kernel.Cil_types.offset visitActionInvoked on each offset occurrence that is *not* as part of an initializer list specification, i.e. in an lval or recursively inside an offset.
method vinitoffs : Frama_c_kernel.Cil_types.offset ->
Frama_c_kernel.Cil_types.offset visitActionInvoked on each offset appearing in the list of a CompoundInit initializer.
method vinst : Frama_c_kernel.Cil_types.instr ->
Frama_c_kernel.Cil_types.instr list visitActionInvoked on each instruction occurrence. The ChangeTo action can replace this instruction with a list of instructions
method vstmt : Frama_c_kernel.Cil_types.stmt ->
Frama_c_kernel.Cil_types.stmt visitActionControl-flow statement. The default DoChildren action does not create a new statement when the components change. Instead it updates the contents of the original statement. This is done to preserve the sharing with Goto and Case statements that point to the original statement. If you use the ChangeTo action then you should take care of preserving that sharing yourself.
method vblock : Frama_c_kernel.Cil_types.block ->
Frama_c_kernel.Cil_types.block visitActionBlock.
method vfunc : Frama_c_kernel.Cil_types.fundec ->
Frama_c_kernel.Cil_types.fundec visitActionFunction definition. Replaced in place.
method vglob : Frama_c_kernel.Cil_types.global ->
Frama_c_kernel.Cil_types.global list visitActionGlobal (vars, types, etc.)
method vinit : Frama_c_kernel.Cil_types.varinfo ->
Frama_c_kernel.Cil_types.offset ->
Frama_c_kernel.Cil_types.init ->
Frama_c_kernel.Cil_types.init visitActionInitializers. Pass the global where this occurs, and the offset
method vlocal_init : Frama_c_kernel.Cil_types.varinfo ->
Frama_c_kernel.Cil_types.local_init ->
Frama_c_kernel.Cil_types.local_init visitActionlocal initializer. pass the variable under initialization.
method vtype : Frama_c_kernel.Cil_types.typ ->
Frama_c_kernel.Cil_types.typ visitActionUse of some type. For typedef, struct, union and enum, the visit is done once at the global defining the type. Thus, children of TComp, TEnum and TNamed are not visited again.
method vcompinfo : Frama_c_kernel.Cil_types.compinfo ->
Frama_c_kernel.Cil_types.compinfo visitActiondeclaration of a struct/union
method venuminfo : Frama_c_kernel.Cil_types.enuminfo ->
Frama_c_kernel.Cil_types.enuminfo visitActiondeclaration of an enumeration
method vfieldinfo : Frama_c_kernel.Cil_types.fieldinfo ->
Frama_c_kernel.Cil_types.fieldinfo visitActionvisit the declaration of a field of a structure or union
method venumitem : Frama_c_kernel.Cil_types.enumitem ->
Frama_c_kernel.Cil_types.enumitem visitActionvisit the declaration of an enumeration item
method vattr : Frama_c_kernel.Cil_types.attribute ->
Frama_c_kernel.Cil_types.attribute list visitActionAttribute. Each attribute can be replaced by a list
method vattrparam : Frama_c_kernel.Cil_types.attrparam ->
Frama_c_kernel.Cil_types.attrparam visitActionAttribute parameters.
method queueInstr : Frama_c_kernel.Cil_types.instr list -> unitAdd here instructions while visiting to queue them to precede the current statement being processed. Use this method only when you are visiting an expression that is inside a function body, or a statement, because otherwise there will no place for the visitor to place your instructions.
method unqueueInstr : unit -> Frama_c_kernel.Cil_types.instr listGets the queue of instructions and resets the queue. This is done automatically for you when you visit statements.
method current_stmt : Frama_c_kernel.Cil_types.stmt optionlink to the current statement being visited.
NB: for copy visitor, the stmt is the original one (use get_stmt to obtain the corresponding copy)
method current_kinstr : Frama_c_kernel.Cil_types.kinstrKstmt stmt when visiting statement stmt, Kglobal when called outside of a statement.
method push_stmt : Frama_c_kernel.Cil_types.stmt -> unitmethod pop_stmt : Frama_c_kernel.Cil_types.stmt -> unitmethod current_func : Frama_c_kernel.Cil_types.fundec optionlink to the current function being visited.
NB: for copy visitors, the fundec is the original one.
method set_current_func : Frama_c_kernel.Cil_types.fundec -> unitmethod vlogic_type : Frama_c_kernel.Cil_types.logic_type ->
Frama_c_kernel.Cil_types.logic_type visitActionmethod vmodel_info : Frama_c_kernel.Cil_types.model_info ->
Frama_c_kernel.Cil_types.model_info visitActionmethod videntified_term : Frama_c_kernel.Cil_types.identified_term ->
Frama_c_kernel.Cil_types.identified_term visitActionmethod vterm : Frama_c_kernel.Cil_types.term ->
Frama_c_kernel.Cil_types.term visitActionmethod vterm_node : Frama_c_kernel.Cil_types.term_node ->
Frama_c_kernel.Cil_types.term_node visitActionmethod vterm_lval : Frama_c_kernel.Cil_types.term_lval ->
Frama_c_kernel.Cil_types.term_lval visitActionmethod vterm_lhost : Frama_c_kernel.Cil_types.term_lhost ->
Frama_c_kernel.Cil_types.term_lhost visitActionmethod vterm_offset : Frama_c_kernel.Cil_types.term_offset ->
Frama_c_kernel.Cil_types.term_offset visitActionmethod vlogic_label : Frama_c_kernel.Cil_types.logic_label ->
Frama_c_kernel.Cil_types.logic_label visitActionmethod vlogic_info_decl : Frama_c_kernel.Cil_types.logic_info ->
Frama_c_kernel.Cil_types.logic_info visitActionmethod vlogic_info_use : Frama_c_kernel.Cil_types.logic_info ->
Frama_c_kernel.Cil_types.logic_info visitActionmethod vlogic_type_info_decl : Frama_c_kernel.Cil_types.logic_type_info ->
Frama_c_kernel.Cil_types.logic_type_info visitActionmethod vlogic_type_info_use : Frama_c_kernel.Cil_types.logic_type_info ->
Frama_c_kernel.Cil_types.logic_type_info visitActionmethod vlogic_type_def : Frama_c_kernel.Cil_types.logic_type_def ->
Frama_c_kernel.Cil_types.logic_type_def visitActionmethod vlogic_ctor_info_decl : Frama_c_kernel.Cil_types.logic_ctor_info ->
Frama_c_kernel.Cil_types.logic_ctor_info visitActionmethod vlogic_ctor_info_use : Frama_c_kernel.Cil_types.logic_ctor_info ->
Frama_c_kernel.Cil_types.logic_ctor_info visitActionmethod vlogic_var_decl : Frama_c_kernel.Cil_types.logic_var ->
Frama_c_kernel.Cil_types.logic_var visitActionmethod vlogic_var_use : Frama_c_kernel.Cil_types.logic_var ->
Frama_c_kernel.Cil_types.logic_var visitActionmethod vquantifiers : Frama_c_kernel.Cil_types.quantifiers ->
Frama_c_kernel.Cil_types.quantifiers visitActionmethod videntified_predicate : Frama_c_kernel.Cil_types.identified_predicate ->
Frama_c_kernel.Cil_types.identified_predicate visitActionmethod vpredicate_node : Frama_c_kernel.Cil_types.predicate_node ->
Frama_c_kernel.Cil_types.predicate_node visitActionmethod vpredicate : Frama_c_kernel.Cil_types.predicate ->
Frama_c_kernel.Cil_types.predicate visitActionmethod vbehavior : Frama_c_kernel.Cil_types.funbehavior ->
Frama_c_kernel.Cil_types.funbehavior visitActionmethod vspec : Frama_c_kernel.Cil_types.funspec ->
Frama_c_kernel.Cil_types.funspec visitActionmethod vassigns : Frama_c_kernel.Cil_types.assigns ->
Frama_c_kernel.Cil_types.assigns visitActionmethod vfrees : Frama_c_kernel.Cil_types.identified_term list ->
Frama_c_kernel.Cil_types.identified_term list visitActionmethod vallocates : Frama_c_kernel.Cil_types.identified_term list ->
Frama_c_kernel.Cil_types.identified_term list visitActionmethod vallocation : Frama_c_kernel.Cil_types.allocation ->
Frama_c_kernel.Cil_types.allocation visitActionmethod vloop_pragma : Frama_c_kernel.Cil_types.loop_pragma ->
Frama_c_kernel.Cil_types.loop_pragma visitActionmethod vslice_pragma : Frama_c_kernel.Cil_types.slice_pragma ->
Frama_c_kernel.Cil_types.slice_pragma visitActionmethod vimpact_pragma : Frama_c_kernel.Cil_types.impact_pragma ->
Frama_c_kernel.Cil_types.impact_pragma visitActionmethod vdeps : Frama_c_kernel.Cil_types.deps ->
Frama_c_kernel.Cil_types.deps visitActionmethod vfrom : Frama_c_kernel.Cil_types.from ->
Frama_c_kernel.Cil_types.from visitActionmethod vcode_annot : Frama_c_kernel.Cil_types.code_annotation ->
Frama_c_kernel.Cil_types.code_annotation visitActionmethod vannotation : Frama_c_kernel.Cil_types.global_annotation ->
Frama_c_kernel.Cil_types.global_annotation visitActionfill the global environment tables at the end of a full copy in a new project.
method get_filling_actions : (unit -> unit) Queue.tget the queue of actions to be performed at the end of a full copy.