sig   exception Bottom   exception Top   type t = PdgTypes.Pdg.t   type t_nodes_and_undef =       (PdgTypes.Node.t * Locations.Zone.t option) list *       Locations.Zone.t option   val self : State.t Pervasives.ref   val get : (Cil_types.kernel_function -> Db.Pdg.t) Pervasives.ref   val node_key : (PdgTypes.Node.t -> PdgIndex.Key.t) Pervasives.ref   val from_same_fun : Db.Pdg.t -> Db.Pdg.t -> bool   val find_decl_var_node :     (Db.Pdg.t -> Cil_types.varinfo -> PdgTypes.Node.t) Pervasives.ref   val find_ret_output_node : (Db.Pdg.t -> PdgTypes.Node.t) Pervasives.ref   val find_output_nodes :     (Db.Pdg.t -> PdgIndex.Signature.out_key -> Db.Pdg.t_nodes_and_undef)     Pervasives.ref   val find_input_node : (Db.Pdg.t -> int -> PdgTypes.Node.t) Pervasives.ref   val find_all_inputs_nodes :     (Db.Pdg.t -> PdgTypes.Node.t list) Pervasives.ref   val find_stmt_node :     (Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t) Pervasives.ref   val find_simple_stmt_nodes :     (Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t list) Pervasives.ref   val find_label_node :     (Db.Pdg.t -> Cil_types.stmt -> Cil_types.label -> PdgTypes.Node.t)     Pervasives.ref   val find_stmt_and_blocks_nodes :     (Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t list) Pervasives.ref   val find_top_input_node : (Db.Pdg.t -> PdgTypes.Node.t) Pervasives.ref   val find_entry_point_node : (Db.Pdg.t -> PdgTypes.Node.t) Pervasives.ref   val find_location_nodes_at_stmt :     (Db.Pdg.t ->      Cil_types.stmt ->      before:bool -> Locations.Zone.t -> Db.Pdg.t_nodes_and_undef)     Pervasives.ref   val find_location_nodes_at_end :     (Db.Pdg.t -> Locations.Zone.t -> Db.Pdg.t_nodes_and_undef) Pervasives.ref   val find_location_nodes_at_begin :     (Db.Pdg.t -> Locations.Zone.t -> Db.Pdg.t_nodes_and_undef) Pervasives.ref   val find_call_stmts :     (Cil_types.kernel_function ->      caller:Cil_types.kernel_function -> Cil_types.stmt list)     Pervasives.ref   val find_call_ctrl_node :     (Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t) Pervasives.ref   val find_call_input_node :     (Db.Pdg.t -> Cil_types.stmt -> int -> PdgTypes.Node.t) Pervasives.ref   val find_call_output_node :     (Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t) Pervasives.ref   val find_code_annot_nodes :     (Db.Pdg.t ->      Cil_types.stmt ->      Cil_types.code_annotation ->      PdgTypes.Node.t list * PdgTypes.Node.t list *      Db.Pdg.t_nodes_and_undef option)     Pervasives.ref   val find_fun_precond_nodes :     (Db.Pdg.t ->      Cil_types.predicate ->      PdgTypes.Node.t list * Db.Pdg.t_nodes_and_undef option)     Pervasives.ref   val find_fun_postcond_nodes :     (Db.Pdg.t ->      Cil_types.predicate ->      PdgTypes.Node.t list * Db.Pdg.t_nodes_and_undef option)     Pervasives.ref   val find_fun_variant_nodes :     (Db.Pdg.t ->      Cil_types.term -> PdgTypes.Node.t list * Db.Pdg.t_nodes_and_undef option)     Pervasives.ref   val find_call_out_nodes_to_select :     (Db.Pdg.t ->      PdgTypes.NodeSet.t -> Db.Pdg.t -> Cil_types.stmt -> PdgTypes.Node.t list)     Pervasives.ref   val find_in_nodes_to_select_for_this_call :     (Db.Pdg.t ->      PdgTypes.NodeSet.t -> Cil_types.stmt -> Db.Pdg.t -> PdgTypes.Node.t list)     Pervasives.ref   val direct_dpds :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_ctrl_dpds :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_data_dpds :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_addr_dpds :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val all_dpds :     (Db.Pdg.t -> PdgTypes.Node.t list -> PdgTypes.Node.t list) Pervasives.ref   val all_data_dpds :     (Db.Pdg.t -> PdgTypes.Node.t list -> PdgTypes.Node.t list) Pervasives.ref   val all_ctrl_dpds :     (Db.Pdg.t -> PdgTypes.Node.t list -> PdgTypes.Node.t list) Pervasives.ref   val all_addr_dpds :     (Db.Pdg.t -> PdgTypes.Node.t list -> PdgTypes.Node.t list) Pervasives.ref   val direct_uses :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_ctrl_uses :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_data_uses :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val direct_addr_uses :     (Db.Pdg.t -> PdgTypes.Node.t -> PdgTypes.Node.t list) Pervasives.ref   val all_uses :     (Db.Pdg.t -> PdgTypes.Node.t list -> PdgTypes.Node.t list) Pervasives.ref   val custom_related_nodes :     ((PdgTypes.Node.t -> PdgTypes.Node.t list) ->      PdgTypes.Node.t list -> PdgTypes.Node.t list)     Pervasives.ref   val iter_nodes :     ((PdgTypes.Node.t -> unit) -> Db.Pdg.t -> unit) Pervasives.ref   val extract : (Db.Pdg.t -> string -> unit) Pervasives.ref   val pretty_node :     (bool -> Format.formatter -> PdgTypes.Node.t -> unit) Pervasives.ref   val pretty_key :     (Format.formatter -> PdgIndex.Key.t -> unit) Pervasives.ref   val pretty :     (?bw:bool -> Format.formatter -> Db.Pdg.t -> unit) Pervasives.ref end