Module SpecFunctor.Priv

module D : sig ... end
module G : sig ... end
module V : sig ... end
module P : sig ... end
val name : unit -> string
val startstate : unit -> D.t
val read_global : Queries.ask -> (V.t -> G.t) -> RelationDomain.RelComponents(RD)(D).t -> GoblintCil.varinfo -> GoblintCil.varinfo -> RD.t
val write_global : ?invariant:bool -> Queries.ask -> (V.t -> G.t) -> (V.t -> G.t -> unit) -> RelationDomain.RelComponents(RD)(D).t -> GoblintCil.varinfo -> GoblintCil.varinfo -> RelationDomain.RelComponents(RD)(D).t
val sync : Queries.ask -> (V.t -> G.t) -> (V.t -> G.t -> unit) -> RelationDomain.RelComponents(RD)(D).t -> [ `Init | `Join | `JoinCall of CilType.Fundec.t | `Normal | `Return | `Thread ] -> RelationDomain.RelComponents(RD)(D).t
val thread_join : ?force:bool -> Queries.ask -> (V.t -> G.t) -> GoblintCil.Cil.exp -> RelationDomain.RelComponents(RD)(D).t -> RelationDomain.RelComponents(RD)(D).t
val iter_sys_vars : (V.t -> G.t) -> VarQuery.t -> V.t VarQuery.f -> unit
val invariant_vars : Queries.ask -> (V.t -> G.t) -> RelationDomain.RelComponents(RD)(D).t -> GoblintCil.varinfo list
val init : unit -> unit
val finalize : unit -> unit