functor
  (Param : sig
             val current_pdg : Build.BuildPdg.t
             val ctrl_dpds_infos : CtrlDpds.t
           end->
  sig
    val name : string
    val debug : bool Pervasives.ref
    type t = Build.BuildPdg.t_state
    val current_pdg : Build.BuildPdg.t
    val current_function : Db_types.kernel_function
    val ctrl_dpds_infos : CtrlDpds.t
    module StmtStartData :
      sig
        type data = Build.BuildPdg.t_state
        val states : Build.BuildPdg.t_state Inthash.t
        val clear : unit -> unit
        val mem : int -> bool
        val find : int -> Build.BuildPdg.t_state
        val replace : int -> Build.BuildPdg.t_state -> unit
        val add : int -> Build.BuildPdg.t_state -> unit
        val iter : (int -> Build.BuildPdg.t_state -> unit) -> unit
      end
    val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
    val copy : Build.Computer.t -> Build.Computer.t
    val pretty : Format.formatter -> Build.Computer.t -> unit
    val computeFirstPredecessor : '-> '-> 'b
    val combinePredecessors :
      Cil_types.stmt ->
      old:Build.BuildPdg.t_state ->
      Build.Computer.t -> Build.BuildPdg.t_state option
    val doInstr :
      Cil_types.stmt ->
      Cil_types.instr ->
      Build.BuildPdg.t_state -> Build.BuildPdg.t_state Dataflow.action
    val doStmt : Cil_types.stmt -> Build.Computer.t -> 'Dataflow.stmtaction
    val filterStmt : Cil_types.stmt -> bool
    val doGuard : '-> '-> '-> 'Dataflow.guardaction
    val doEdge : '-> '-> '-> 'c
  end