MainFunctor.InvariantEvalmodule D = Dmodule V = Vmodule G = Gval unop_ID : GoblintCil.unop -> ID.t -> ID.tval unop_FD : GoblintCil.unop -> FD.t -> valueval eval_rv :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.exp ->
valueval eval_rv_address :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.exp ->
VD.tval eval_lv :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.lval ->
AD.tval convert_offset :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.offset ->
VD.offsval get_var :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
GoblintCil.varinfo ->
valueval get :
ctx:
('a, [> `Bot | `Lifted1 of Priv.G.t ], 'b, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
address ->
GoblintCil.exp option ->
valueval set :
ctx:
(store, [> `Bot | `Lifted1 of Priv.G.t ], 'a, [> `Left of Priv.V.t ])
Analyses.ctx ->
store ->
AD.t ->
GoblintCil.Cil.typ ->
?lval_raw:GoblintCil.lval ->
value ->
storeval 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