Globals.Functions
Functions. The AST should be computed before using this module (cf. Ast.compute
).
val self : State.t
val get : Cil_types.varinfo -> Cil_types.kernel_function
val get_params : Cil_types.kernel_function -> Cil_types.varinfo list
val get_vi : Cil_types.kernel_function -> Cil_types.varinfo
val find_by_name : string -> Cil_types.kernel_function
val find_all_by_orig_name :
?cmp:( Cil_types.kernel_function -> Cil_types.kernel_function -> int ) ->
string ->
Cil_types.kernel_function list
find_all_by_orig_name ?cmp name
returns the list of functions whose original name is name
, sorted according to cmp
. If cmp
is None
, the resulting order is unspecified.
val find_def_by_name : string -> Cil_types.kernel_function
val find_decl_by_name : string -> Cil_types.kernel_function
val iter : ( Cil_types.kernel_function -> unit ) -> unit
val fold : ( Cil_types.kernel_function -> 'a -> 'a ) -> 'a -> 'a
val iter_on_fundecs : ( Cil_types.fundec -> unit ) -> unit
Functions of this section should not be called by casual users.
val add : Cil_types.cil_function -> unit
TODO: remove this function and replace all calls by:
val remove : Cil_types.varinfo -> unit
Removes the given varinfo, which must have already been removed from the AST. Warning: this is very dangerous.
val replace_by_declaration :
Cil_types.funspec ->
Cil_types.varinfo ->
Cil_types.location ->
unit
Note: if the varinfo is already registered and bound to a definition, the definition will be erased only if vdefined
is false. Otherwise, you're trying to register a declaration for a varinfo that is supposed to be defined, which does not look very good.
val replace_by_definition :
Cil_types.funspec ->
Cil_types.fundec ->
Cil_types.location ->
unit
TODO: do not take a funspec as argument
val register : Cil_types.kernel_function -> unit