Module Soteria_c_lib.Store

type binding_kind =
  1. | Stackptr of Soteria_c_lib.Typed.T.sptr Typed.t
  2. | Value of Aggregate_val.t
  3. | Uninit
val pp_binding_kind : Ppx_deriving_runtime.Format.formatter -> binding_kind -> Ppx_deriving_runtime.unit
val show_binding_kind : binding_kind -> Ppx_deriving_runtime.string
type binding = {
  1. kind : binding_kind;
  2. ty : Ail_tys.ctype;
}
val pp_binding : Ppx_deriving_runtime.Format.formatter -> binding -> Ppx_deriving_runtime.unit
val show_binding : binding -> Ppx_deriving_runtime.string
type t
val pp : t Fmt.t
val empty : t
val add_value : Ail_tys.sym -> Aggregate_val.t -> Ail_tys.ctype -> t -> t
val reserve : Ail_tys.sym -> Ail_tys.ctype -> t -> t
val remove : Ail_tys.sym -> t -> t
val bindings : t -> (Ail_tys.sym * binding) list
val is_empty : t -> bool
val mem : Ail_tys.sym -> t -> bool
val find_opt : Ail_tys.sym -> t -> binding option
val declare_value : Ail_tys.sym -> Aggregate_val.t -> t -> t
val get_ty : Ail_tys.sym -> t -> Ail_tys.ctype