Module Globals.Functions


module Functions: sig .. end
Functions.

module KF_Datatype: Project.Datatype.S  with type t = kernel_function
Should not be used.
val self : Project.Computation.t

Getters


val get : Cil_types.varinfo -> Db_types.kernel_function
Raises Not_found if the given varinfo has not a function type.
val get_params : Db_types.kernel_function -> Cil_types.varinfo list
val get_vi : Db_types.kernel_function -> Cil_types.varinfo
val get_glob_init : ?main_name:string -> Cil_types.file -> Db_types.kernel_function
Returns the internal function for global initializations.

Searching


val find_by_name : string -> Db_types.kernel_function
Raises Not_found if there is no function of this name.
val find_def_by_name : string -> Db_types.kernel_function
Raises Not_found if there is no function definition of this name.
val find_englobing_kf : Cil_types.kinstr -> Db_types.kernel_function option

Iterators


val iter : (Db_types.kernel_function -> unit) -> unit
val fold : (Db_types.kernel_function -> 'a -> 'a) -> 'a -> 'a
val iter_on_fundecs : (Cil_types.fundec -> unit) -> unit

Setters


val add : Db_types.cil_function -> unit
TODO: remove this function and replace all calls by:
val replace_by_declaration : Cil_types.funspec -> Cil_types.varinfo -> Cil_types.location -> unit
val replace_by_definition : Cil_types.funspec -> Cil_types.fundec -> Cil_types.location -> unit
TODO: do not take a funspec as argument