functor
(T : sig
val name : string
val debug : bool ref
type t
val copy : t -> t
val pretty : Format.formatter -> t -> unit
val computeFirstPredecessor : Cil_types.stmt -> t -> t
val combinePredecessors : Cil_types.stmt -> old:t -> t -> t option
val doInstr : Cil_types.stmt -> Cil_types.instr -> t -> t action
val doGuard :
Cil_types.stmt ->
Cil_types.exp -> t -> t guardaction * t guardaction
val doStmt : Cil_types.stmt -> t -> t stmtaction
val filterStmt : Cil_types.stmt -> bool
val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
val doEdge : Cil_types.stmt -> Cil_types.stmt -> t -> t
module StmtStartData :
sig
type data = t
type key = int
val clear : unit -> unit
val mem : key -> bool
val find : key -> data
val replace : key -> data -> unit
val add : key -> data -> unit
val iter : (key -> data -> unit) -> unit
val length : unit -> int
end
end) ->
sig
val reachedStatement : Cil_types.stmt -> Cil_types.stmt -> T.t -> unit
val compute : Cil_types.stmt list -> unit
end