ThreadAnalysis.Specinclude module type of struct include Analyses.DefaultSpec endval vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'aval asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'aval skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'aval event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'aval sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'amodule A = Goblint_lib.Analyses.DefaultSpec.Amodule D = Goblint_lib.ConcDomain.CreatedThreadSetmodule C = Dmodule G = ConcDomain.ThreadCreationmodule V : sig ... endval assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.lval ->
Prelude.Ana.exp ->
D.tval branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp -> bool -> D.tval body : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.fundec -> D.tval return :
(D.t, bool * TS.t * bool, 'a, Goblint_lib__ThreadIdDomain.Thread.t)
Analyses.ctx ->
Prelude.Ana.exp option ->
Prelude.Ana.fundec ->
D.tval enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
(D.t * D.t) listval combine :
'a ->
Prelude.Ana.lval option ->
'b ->
Prelude.Ana.fundec ->
Prelude.Ana.exp list ->
'c ->
D.t ->
D.tval is_not_unique :
('a, bool * TS.t * 'b, 'c, TS.elt) Analyses.ctx ->
TS.elt ->
boolval special :
(D.t, bool * TS.t * bool, 'a, TS.elt) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.varinfo ->
Prelude.Ana.exp list ->
D.tval query :
(D.t, bool * TS.t * 'b, 'c, TS.elt) Analyses.ctx ->
'a Queries.t ->
'a Queries.resultval startstate : 'a -> D.tval threadenter : 'a -> 'b -> 'c -> 'd -> D.t listval threadspawn :
(D.t, bool * TS.t * bool, 'a, Goblint_lib.ThreadId.Thread.t) Analyses.ctx ->
'b ->
'c ->
'd ->
('e, 'f, 'g, 'h) Analyses.ctx ->
D.tval exitstate : 'a -> D.t