TaintPartialContexts.Spec
include module type of struct include Analyses.IdentityUnitContextsSpec end
include module type of struct include Analyses.IdentitySpec end
include module type of struct include Analyses.DefaultSpec end
Relatively safe default implementations of some boring Spec functions.
module G = Lattice.Unit
module V = Analyses.EmptyV
module P = Analyses.UnitP
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e list
module A = Analyses.UnitA
val branch : ('a, 'b, 'c, 'd) Analyses.ctx -> GoblintCil.exp -> bool -> 'e
val body : ('a, 'b, 'c, 'd) Analyses.ctx -> GoblintCil.fundec -> 'e
module C = Printable.Unit
module D = AD
val taint_lval : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.lval -> D.t
val assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
D.t
val return :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.t
val enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) list
val combine_env :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
'd ->
'e ->
GoblintCil.fundec ->
'f ->
'g ->
D.t ->
'h ->
D.t
val combine_assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
'd ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'e ->
D.t ->
Queries.ask ->
D.t
val special :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t
val startstate : 'a -> D.t
val threadenter : 'a -> multiple:'b -> 'c -> 'd -> 'e -> D.t list
val threadspawn :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
multiple:'d ->
GoblintCil.lval option ->
'e ->
'f ->
'g ->
D.t
val exitstate : 'a -> D.t
val query :
(ValueDomain.AD.t, 'b, 'c, 'd) Analyses.ctx ->
'a Queries.t ->
'a0 Queries.result