functor (Param : sig val states : Zones.Ctx.t end) ->
sig
val name : string
val debug : bool
val used_stmts : Cil_types.stmt list Pervasives.ref
val add_used_stmt : Cil_types.stmt -> unit
val get_and_reset_used_stmts : unit -> Cil_types.stmt list
type t = Zones.Data.t
val pretty : Format.formatter -> Locations.Zone.t -> unit
module StmtStartData :
sig
type data = Zones.Computer.t
val clear : unit -> unit
val mem : Cil_datatype.Stmt.Hashtbl.key -> bool
val find : Cil_datatype.Stmt.Hashtbl.key -> Zones.Data.t
val replace : Cil_datatype.Stmt.Hashtbl.key -> Zones.Data.t -> unit
val add : Cil_datatype.Stmt.Hashtbl.key -> Zones.Data.t -> unit
val iter :
(Cil_datatype.Stmt.Hashtbl.key -> Zones.Data.t -> unit) -> unit
val length : unit -> int
end
val combineStmtStartData :
'a ->
old:Locations.Zone.t -> Locations.Zone.t -> Locations.Zone.t option
val combineSuccessors :
Locations.Zone.t -> Locations.Zone.t -> Locations.Zone.t
val doStmt : 'a -> 'b Dataflow2.action
val doInstr :
Cil_types.stmt ->
Cil_types.instr ->
Locations.Zone.t -> Locations.Zone.t Dataflow2.action
val filterStmt : 'a -> 'b -> bool
val funcExitData : Locations.Zone.t
end