sig
type ('ni, 'ci) t
val create : int -> ('ni, 'ci) PdgIndex.FctIndex.t
val length : ('ni, 'ci) PdgIndex.FctIndex.t -> int
val copy : ('ni, 'ci) PdgIndex.FctIndex.t -> ('ni, 'ci) PdgIndex.FctIndex.t
val merge :
('ni, 'ci) PdgIndex.FctIndex.t ->
('ni, 'ci) PdgIndex.FctIndex.t ->
('ni -> 'ni -> 'ni) ->
('ci -> 'ci -> 'ci) -> ('ni, 'ci) PdgIndex.FctIndex.t
val sgn : ('ni, 'ci) PdgIndex.FctIndex.t -> 'ni PdgIndex.Signature.t
val find_info : ('ni, 'ci) PdgIndex.FctIndex.t -> PdgIndex.Key.t -> 'ni
val find_all : ('ni, 'ci) PdgIndex.FctIndex.t -> PdgIndex.Key.t -> 'ni list
val find_label : ('ni, 'ci) PdgIndex.FctIndex.t -> Cil_types.label -> 'ni
val find_call :
('ni, 'ci) PdgIndex.FctIndex.t ->
Cil_types.stmt -> 'ci option * 'ni PdgIndex.Signature.t
val find_call_key :
('ni, 'ci) PdgIndex.FctIndex.t ->
PdgIndex.Key.t -> 'ci option * 'ni PdgIndex.Signature.t
val find_info_call :
('ni, 'ci) PdgIndex.FctIndex.t -> Cil_types.stmt -> 'ci
val find_info_call_key :
('ni, 'ci) PdgIndex.FctIndex.t -> PdgIndex.Key.t -> 'ci
val fold_calls :
(Cil_types.stmt -> 'ci option * 'ni PdgIndex.Signature.t -> 'c -> 'c) ->
('ni, 'ci) PdgIndex.FctIndex.t -> 'c -> 'c
val fold :
(PdgIndex.Key.key -> 'ni -> 'a -> 'a) ->
('ni, 'ci) PdgIndex.FctIndex.t -> 'a -> 'a
val add : ('ni, 'ci) PdgIndex.FctIndex.t -> PdgIndex.Key.t -> 'ni -> unit
val add_or_replace :
('ni, 'ci) PdgIndex.FctIndex.t -> PdgIndex.Key.t -> 'ni -> unit
val add_info_call :
('ni, 'ci) PdgIndex.FctIndex.t ->
Cil_types.stmt -> 'ci -> replace:bool -> unit
val add_info_call_key :
('ni, 'ci) PdgIndex.FctIndex.t ->
PdgIndex.Key.t -> 'ci -> replace:bool -> unit
val t_descr :
ni:Structural_descr.t -> ci:Structural_descr.t -> Structural_descr.t
end