sig
module Vars :
sig
val find : Cil_types.varinfo -> Cil_types.initinfo
val find_from_astinfo :
string -> Cil_types.localisation -> Cil_types.varinfo
val get_astinfo : Cil_types.varinfo -> string * Cil_types.localisation
val iter : (Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
val fold :
(Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
val iter_in_file_order :
(Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
val fold_in_file_order :
(Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
val iter_in_file_rev_order :
(Cil_types.varinfo -> Cil_types.initinfo -> unit) -> unit
val fold_in_file_rev_order :
(Cil_types.varinfo -> Cil_types.initinfo -> 'a -> 'a) -> 'a -> 'a
exception AlreadyExists of Cil_types.varinfo * Cil_types.initinfo
val add : Cil_types.varinfo -> Cil_types.initinfo -> unit
val remove : Cil_types.varinfo -> unit
val add_decl : Cil_types.varinfo -> unit
val self : State.t
end
module Functions :
sig
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 mem_name : string -> bool
val mem_def_name : string -> bool
val mem_decl_name : string -> bool
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
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
val add : Cil_types.cil_function -> unit
val remove : Cil_types.varinfo -> unit
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
val register : Cil_types.kernel_function -> unit
end
module FileIndex :
sig
val self : State.t
val get_symbols : Datatype.Filepath.t -> Cil_types.global list
val find :
Datatype.Filepath.t -> Datatype.Filepath.t * Cil_types.global list
val get_files : unit -> Datatype.Filepath.t list
val get_globals :
Datatype.Filepath.t -> (Cil_types.varinfo * Cil_types.initinfo) list
val get_global_annotations :
Datatype.Filepath.t -> Cil_types.global_annotation list
val get_functions :
?declarations:bool ->
Datatype.Filepath.t -> Cil_types.kernel_function list
val kernel_function_of_local_var_or_param_varinfo :
Cil_types.varinfo -> Cil_types.kernel_function * bool
val remove_global_annotations : Cil_types.global_annotation -> unit
end
module Syntactic_search :
sig
val self : State.t
val find_in_scope :
string -> Cil_types.syntactic_scope -> Cil_types.varinfo option
end
module Types :
sig
val mem_enum_tag : string -> bool
val find_enum_tag : string -> Cil_types.exp * Cil_types.typ
val mem_type : Logic_typing.type_namespace -> string -> bool
val find_type : Logic_typing.type_namespace -> string -> Cil_types.typ
val iter_types :
(string -> Cil_types.typ -> Logic_typing.type_namespace -> unit) ->
unit
val global : Logic_typing.type_namespace -> string -> Cil_types.global
end
exception No_such_entry_point of string
val entry_point : unit -> Cil_types.kernel_function * bool
val set_entry_point : string -> bool -> unit
val get_comments_global : Cil_types.global -> string list
val get_comments_stmt : Cil_types.stmt -> string list
val find_first_stmt :
(Cil_types.kernel_function -> Cil_types.stmt) Stdlib.ref
val find_enclosing_block : (Cil_types.stmt -> Cil_types.block) Stdlib.ref
val find_all_enclosing_blocks :
(Cil_types.stmt -> Cil_types.block list) Stdlib.ref
val find_englobing_kf :
(Cil_types.stmt -> Cil_types.kernel_function) Stdlib.ref
end