ThreadAnalysis.Specinclude module type of struct include Analyses.DefaultSpec endval intrpt : ('a, 'b, 'c) Analyses.ctx -> 'aval vdecl : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'aval asm : ('a, 'b, 'c) Analyses.ctx -> 'aval skip : ('a, 'b, 'c) Analyses.ctx -> 'aval event : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'e -> 'aval sync : ('a, 'b, 'c) Analyses.ctx -> 'd -> 'amodule D = ConcDomain.CreatedThreadSetmodule C = Dmodule G = ConcDomain.ThreadCreationval assign :
(D.t, 'a, 'b) Analyses.ctx ->
Prelude.Ana.lval ->
Prelude.Ana.exp ->
D.tval branch : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.exp -> bool -> D.tval body : (D.t, 'a, 'b) Analyses.ctx -> Prelude.Ana.fundec -> D.tval return :
(D.t, bool * TS.t * bool, 'a) Analyses.ctx ->
Prelude.Ana.exp option ->
Prelude.Ana.fundec ->
D.tval enter :
(D.t, 'a, 'b) 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) Analyses.ctx -> T.t -> boolval special :
(D.t, bool * TS.t * bool, 'a) Analyses.ctx ->
Prelude.Ana.lval option ->
Prelude.Ana.varinfo ->
Prelude.Ana.exp list ->
D.tval query :
(D.t, bool * TS.t * 'b, 'c) 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) Analyses.ctx ->
'b ->
'c ->
'd ->
('e, 'f, 'g) Analyses.ctx ->
D.tval exitstate : 'a -> D.t