MainFunctor.InvariantEval
module D = D
module V = V
module G = G
val eval_rv :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.exp ->
value
val eval_rv_address :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.exp ->
VD.t
val eval_lv :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.lval ->
AD.t
val convert_offset :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.offset ->
VD.offs
val get_var :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.varinfo ->
value
val eval_rv_lval_refine :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
'c ->
GoblintCil.lval ->
value