module FctIndex:sig..end
type ('ni, 'ci) t
'ni if the type of the information to store for each element,'ci if the type of the information that can be attached to call
statements (calls are themselves composed of several elements, so 'ni
information stored for each of them ('ni Signature.t))val create : int -> ('ni, 'ci) t
val length : ('ni, 'ci) t -> int
val copy : ('ni, 'ci) t -> ('ni, 'ci) tval merge : ('ni, 'ci) t ->
('ni, 'ci) t ->
('ni -> 'ni -> 'ni) -> ('ci -> 'ci -> 'ci) -> ('ni, 'ci) tmerge_a and merge_b.
These function are _not_ called when an element is in one index,
but not the other. It is assumed that merge_x x bot = x.val sgn : ('ni, 'ci) t -> 'ni PdgIndex.Signature.tval find_info : ('ni, 'ci) t -> PdgIndex.Key.t -> 'niKey.CallStmt keys because the type of the stored information is not the
same. See find_call instead.val find_all : ('ni, 'ci) t -> PdgIndex.Key.t -> 'ni listfind_info except for call statements for which it gives the
list of all the information in the signature of the call.val find_label : ('ni, 'ci) t -> Cil_types.label -> 'nifind_info for a labelval find_call : ('ni, 'ci) t ->
Cil_types.stmt -> 'ci option * 'ni PdgIndex.Signature.tval find_call_key : ('ni, 'ci) t ->
PdgIndex.Key.t -> 'ci option * 'ni PdgIndex.Signature.t
val find_info_call : ('ni, 'ci) t -> Cil_types.stmt -> 'cival find_info_call_key : ('ni, 'ci) t -> PdgIndex.Key.t -> 'ci
val fold_calls : (Cil_types.stmt -> 'ci option * 'ni PdgIndex.Signature.t -> 'c -> 'c) ->
('ni, 'ci) t -> 'c -> 'c
val fold : (PdgIndex.Key.key -> 'ni -> 'a -> 'a) ->
('ni, 'ci) t -> 'a -> 'a
val add : ('ni, 'ci) t -> PdgIndex.Key.t -> 'ni -> unit
store the information for the key. Replace the previously stored
information if any.
Raises AddError if there is already something stored.
val add_or_replace : ('ni, 'ci) t -> PdgIndex.Key.t -> 'ni -> unit
val add_info_call : ('ni, 'ci) t ->
Cil_types.stmt -> 'ci -> replace:bool -> unit
val add_info_call_key : ('ni, 'ci) t ->
PdgIndex.Key.t -> 'ci -> replace:bool -> unit
val t_descr : ni:Structural_descr.t -> ci:Structural_descr.t -> Structural_descr.t