sig
type key =
SigKey of PdgIndex.Signature.key
| VarDecl of Cil_types.varinfo
| Stmt of Cil_types.stmt
| CallStmt of Cil_types.stmt
| Label of Cil_types.stmt * Cil_types.label
| SigCallKey of Cil_types.stmt * PdgIndex.Signature.key
val entry_point : PdgIndex.Key.key
val top_input : PdgIndex.Key.key
val param_key : int -> PdgIndex.Key.key
val implicit_in_key : Locations.Zone.t -> PdgIndex.Key.key
val output_key : PdgIndex.Key.key
val out_from_key : Locations.Zone.t -> PdgIndex.Key.key
val decl_var_key : Cil_types.varinfo -> PdgIndex.Key.key
val label_key : Cil_types.stmt -> Cil_types.label -> PdgIndex.Key.key
val call_key : Cil_types.stmt -> PdgIndex.Key.key
val stmt_key : Cil_types.stmt -> PdgIndex.Key.key
val call_input_key : Cil_types.stmt -> int -> PdgIndex.Key.key
val call_outret_key : Cil_types.stmt -> PdgIndex.Key.key
val call_output_key :
Cil_types.stmt -> Locations.Zone.t -> PdgIndex.Key.key
val call_ctrl_key : Cil_types.stmt -> PdgIndex.Key.key
val call_topin_key : Cil_types.stmt -> PdgIndex.Key.key
val call_from_id : 'a -> 'a
val stmt : PdgIndex.Key.key -> Cil_types.stmt option
val pretty_node : Format.formatter -> PdgIndex.Key.key -> unit
type t = key
val ty : t Type.t
val name : string
val descr : t Descr.t
val packed_descr : Structural_descr.pack
val reprs : t list
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val pretty_code : Format.formatter -> t -> unit
val internal_pretty_code : Type.precedence -> Format.formatter -> t -> unit
val pretty : Format.formatter -> t -> unit
val varname : t -> string
val mem_project : (Project_skeleton.t -> bool) -> t -> bool
val copy : t -> t
end