functor (X : sig val modified : Cil_types.stmt -> bool end) ->
sig
val name : string
val debug : bool Pervasives.ref
module StmtStartData :
sig
type key = Cil_types.stmt
type data = State.t
type t = data Cil_datatype.Stmt.Hashtbl.t
val states : t
val clear : unit -> unit
val mem : Cil_datatype.Stmt.Hashtbl.key -> bool
val find : Cil_datatype.Stmt.Hashtbl.key -> data
val replace : Cil_datatype.Stmt.Hashtbl.key -> data -> unit
val add : Cil_datatype.Stmt.Hashtbl.key -> data -> unit
val iter : (Cil_datatype.Stmt.Hashtbl.key -> data -> unit) -> unit
val fold :
(Cil_datatype.Stmt.Hashtbl.key -> data -> 'a -> 'a) -> 'a -> 'a
val length : unit -> int
val pretty :
Format.formatter -> State.t Cil_datatype.Stmt.Hashtbl.t -> unit
end
type t = Datascope.ForwardScope.StmtStartData.data
val pretty : Format.formatter -> Datascope.State.t -> unit
val copy : Datascope.ForwardScope.t -> Datascope.ForwardScope.t
val computeFirstPredecessor :
'a -> Datascope.State.t -> Datascope.State.t
val combinePredecessors :
'a ->
old:Datascope.State.t -> Datascope.State.t -> Datascope.State.t option
val doStmt : 'a -> 'b -> 'c Dataflow.stmtaction
val doInstr :
Cil_types.stmt ->
'a -> Datascope.State.t -> Datascope.State.t Dataflow.action
val stmt_can_reach : 'a -> 'b -> bool
val filterStmt : 'a -> bool
val doGuard :
'a -> 'b -> 'c -> 'd Dataflow.guardaction * 'e Dataflow.guardaction
val doEdge : 'a -> 'b -> 'c -> 'c
end