sig
val name : string
val debug : bool Pervasives.ref
type t = Compute.DomSet.t
module StmtStartData :
sig
val self : Project.Computation.t
val select :
Kind.how ->
Project.Computation.selection -> Project.Computation.selection
val depend : Project.Computation.t -> unit
val name : string
val mark_as_computed : ?project:Project.project -> unit -> unit
val is_computed : ?project:Project.project -> unit -> bool
val do_not_save : unit -> unit
module Datatype :
sig
type t = Dom.Datatype.t
val descr : Unmarshal.t
val copy : t -> t
val name : string
val register_comparable :
?compare:(t -> t -> int) ->
?equal:(t -> t -> bool) -> ?hash:(t -> int) -> unit -> unit
val is_comparable_set : unit -> bool
val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val mem_project :
((Project.project -> bool) -> t -> bool) option ref
end
val howto_marshal : (Datatype.t -> 'a) -> ('a -> Datatype.t) -> unit
type key = int
type data = Datatype.t
val replace : key -> data -> unit
val add : key -> data -> unit
val clear : unit -> unit
val length : unit -> int
val iter : (key -> data -> unit) -> unit
val fold : (key -> data -> 'a -> 'a) -> 'a -> 'a
val memo : ?change:(data -> data) -> (key -> data) -> key -> data
val find : key -> data
val find_all : key -> data list
val unsafe_find : key -> data
val mem : key -> bool
val remove : key -> unit
end
val pretty : Format.formatter -> Compute.DomSet.t -> unit
val copy : Compute.DomComputer.t -> Compute.DomComputer.t
val computeFirstPredecessor : 'a -> 'b -> 'c
val combinePredecessors :
Cilutil.StmtSet.elt ->
old:Compute.DomSet.t -> Compute.DomSet.t -> Compute.DomSet.t option
val doStmt : 'a -> 'b -> 'c Dataflow.stmtaction
val doInstr :
Cilutil.StmtSet.elt ->
'a -> Compute.DomSet.t -> Compute.DomSet.t Dataflow.action
val stmt_can_reach : 'a -> 'b -> bool
val filterStmt : 'a -> bool
val doGuard : 'a -> 'b -> 'c -> 'd Dataflow.guardaction
val doEdge : 'a -> 'b -> 'c -> 'c
end