package goblint-cil
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=5f81cb3f25c09770e77b5eb4092e6621e456122b6d1219dcc304c062075f9572
sha512=31bb753031e0ef321a2ef065373009270881b1cce7f23167b378845188aed9cb49f18a165edd2e11f751f2c7a7b84ab5ac1da50ba1f5cb975e6e8a97157838ed
doc/goblint-cil.syntacticsearch/Syntacticsearch/FuncFunction/class-fun_find_uses_in_fun/index.html
Class FuncFunction.fun_find_uses_in_funSource
method vvdec : GoblintCil.varinfo -> GoblintCil.varinfo GoblintCil.visitActionInvoked 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 : GoblintCil.varinfo -> GoblintCil.varinfo GoblintCil.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 : GoblintCil.exp -> GoblintCil.exp GoblintCil.visitActionInvoked on each expression occurrence. The subtrees are the subexpressions, the types (for a Cast or SizeOf expression) or the variable use.
method vlval : GoblintCil.lval -> GoblintCil.lval GoblintCil.visitActionInvoked on each lvalue occurrence
method voffs : GoblintCil.offset -> GoblintCil.offset GoblintCil.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 : GoblintCil.offset ->
GoblintCil.offset GoblintCil.visitActionInvoked on each offset appearing in the list of a CompoundInit initializer.
method vinst : GoblintCil.instr -> GoblintCil.instr list GoblintCil.visitActionInvoked on each instruction occurrence. The ChangeTo action can replace this instruction with a list of instructions
method vstmt : GoblintCil.stmt -> GoblintCil.stmt GoblintCil.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 : GoblintCil.block -> GoblintCil.block GoblintCil.visitActionBlock.
method vfunc : GoblintCil.fundec -> GoblintCil.fundec GoblintCil.visitActionFunction definition. Replaced in place.
method vglob : GoblintCil.global ->
GoblintCil.global list GoblintCil.visitActionGlobal (vars, types, etc.)
method vinit : GoblintCil.varinfo ->
GoblintCil.offset ->
GoblintCil.init ->
GoblintCil.init GoblintCil.visitActionInitializers for static, const and global variables, pass the variable where this occurs, and the offset
method vtype : GoblintCil.typ -> GoblintCil.typ GoblintCil.visitActionUse 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 : GoblintCil.attribute ->
GoblintCil.attribute list GoblintCil.visitActionAttribute. Each attribute can be replaced by a list
method vattrparam : GoblintCil.attrparam ->
GoblintCil.attrparam GoblintCil.visitActionAttribute parameters.
method queueInstr : GoblintCil.instr list -> unitAdd 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 -> GoblintCil.instr listGets the queue of instructions and resets the queue. This is done automatically for you when you visit statements.