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       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       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       exception AlreadyExists of Cil_types.varinfo * Cil_types.initinfo       val add : Cil_types.varinfo -> Cil_types.initinfo -> 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 find_by_name : string -> Cil_types.kernel_function       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       val iter_on_fundecs : (Cil_types.fundec -> unit) -> unit       val add : Cil_types.cil_function -> 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 : filename:string -> Cil_types.global list       val find : filename:string -> string * Cil_types.global list       val get_files : unit -> string list       val get_globals :         filename:string -> (Cil_types.varinfo * Cil_types.initinfo) list       val get_global_annotations :         filename:string -> Cil_types.global_annotation list       val get_functions :         ?declarations:bool ->         filename:string -> 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 Types :     sig       val find_enum_tag : string -> Cil_types.exp * Cil_types.typ       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) Pervasives.ref   val find_enclosing_block :     (Cil_types.stmt -> Cil_types.block) Pervasives.ref end