package goblint-cil
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f4711e3fa53c482cdef2d7ed62b287d859ce55ef8b4ddfdc6071e81034c3bc89
sha512=8a861aa04aed7684a7c86207cfd5b63503984917fe53ae4866890242cb0db38d2c4f7bd5a5565fd094da064fb290e67071bae6874377e10d2005330c71cc13a2
doc/goblint-cil.syntacticsearch/FuncFunction/class-fun_find_sig/index.html
Class FuncFunction.fun_find_sig
method vvdec : Cil.varinfo -> Cil.varinfo Cil.visitAction
Invoked for each variable declaration. The subtrees to be traversed * are those corresponding to the type and attributes of the variable. * Note that variable declarations are all the GVar
, GVarDecl
, GFun
, * all the varinfo
in formals of function types, and the formals and * locals for function definitions. This means that the list of formals * in a function definition will be traversed twice, once as part of the * function type and second as part of the formals in a function * definition.
method vvrbl : Cil.varinfo -> Cil.varinfo Cil.visitAction
Invoked 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 : Cil.exp -> Cil.exp Cil.visitAction
Invoked on each expression occurrence. The subtrees are the * subexpressions, the types (for a Cast
or SizeOf
expression) or the * variable use.
method vlval : Cil.lval -> Cil.lval Cil.visitAction
Invoked on each lvalue occurrence
method voffs : Cil.offset -> Cil.offset Cil.visitAction
Invoked 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 : Cil.offset -> Cil.offset Cil.visitAction
Invoked on each offset appearing in the list of a * CompoundInit initializer.
method vinst : Cil.instr -> Cil.instr list Cil.visitAction
Invoked on each instruction occurrence. The ChangeTo
action can * replace this instruction with a list of instructions
method vstmt : Cil.stmt -> Cil.stmt Cil.visitAction
Control-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 : Cil.block -> Cil.block Cil.visitAction
Block.
method vfunc : Cil.fundec -> Cil.fundec Cil.visitAction
Function definition. Replaced in place.
method vglob : Cil.global -> Cil.global list Cil.visitAction
Global (vars, types, etc.)
method vinit : Cil.varinfo ->
Cil.offset ->
Cil.init ->
Cil.init Cil.visitAction
Initializers for static, * const and global variables, * pass the variable where this * occurs, and the offset
method vtype : Cil.typ -> Cil.typ Cil.visitAction
Use of some type. Note * that for structure/union * and enumeration types the * definition of the * composite type is not * visited. Use vglob
to * visit it.
method vattr : Cil.attribute -> Cil.attribute list Cil.visitAction
Attribute. Each attribute can be replaced by a list
method vattrparam : Cil.attrparam -> Cil.attrparam Cil.visitAction
Attribute parameters.
method queueInstr : Cil.instr list -> unit
Add here instructions while visiting to queue them to precede the * current statement or instruction 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 -> Cil.instr list
Gets the queue of instructions and resets the queue. This is done * automatically for you when you visit statements.