Module Funvar_mem.Create.Lookup


module Lookup: sig .. end

module F: M.F

type poffset =
| Ofield of Cil_types.fieldinfo
| Oindex of F.integer * Ctypes.c_object

type root =
| Cvar of Cil_types.varinfo
| Lvar of Cil_types.logic_var

type path = {
   p_root : root;
   p_mem : M.mem;
   p_arity : int;
   p_off : poffset list;
   p_type : Ctypes.c_object option;
   p_cvar : F.var option;
}
val pp_root : Format.formatter -> root -> unit
val pp_path : Format.formatter -> path -> unit
val object_of_root : root -> Ctypes.c_object option
val object_array_of_root : root -> Ctypes.c_object option
val object_of_n_pointed : int -> Ctypes.c_object -> Ctypes.c_object
val object_of_pointed_opt : Ctypes.c_object option -> Ctypes.c_object option
val object_of_n_pointed_opt : int -> Ctypes.c_object option -> Ctypes.c_object option
val pointed_of_path : path -> path
val pointed_of_n_path : int -> path -> path
val sizeof_poffset : poffset -> F.integer
val sizeof_path : poffset list -> F.integer
val access_poffset : F.abstract ->
poffset -> F.abstract
val access : F.abstract ->
poffset list -> F.abstract
val mcvar : M.mem ->
root ->
F.var option -> M.loc
val mloc_of_path : path -> M.loc