Skip to content
gillian » Gillian » Symbolic » Store

Module Symbolic.Store

val to_yojson : t -> Yojson.Safe.t
val of_yojson : Yojson.Safe.t -> t Ppx_deriving_yojson_runtime.error_or
val copy : t -> t
val domain : t -> Utils.Containers.SS.t
val get : t -> Gil_syntax.Var.t -> Gil_syntax.Expr.t option
val get_unsafe : t -> Gil_syntax.Var.t -> Gil_syntax.Expr.t
val init : (Gil_syntax.Var.t * Gil_syntax.Expr.t) list -> t
val mem : t -> Gil_syntax.Var.t -> bool
val partition :
  t ->
  (Gil_syntax.Expr.t -> bool) ->
  Gil_syntax.Var.Set.t * Gil_syntax.Var.Set.t
val projection : t -> Gil_syntax.Var.t list -> t
val put : t -> Gil_syntax.Var.t -> Gil_syntax.Expr.t -> unit
val remove : t -> Gil_syntax.Var.t -> unit
val pp : Stdlib.Format.formatter -> t -> unit
val pp_by_need : Utils.Containers.SS.t -> Stdlib.Format.formatter -> t -> unit
val iter : t -> (Gil_syntax.Var.t -> Gil_syntax.Expr.t -> unit) -> unit
val fold : t -> (Gil_syntax.Var.t -> Gil_syntax.Expr.t -> 'a -> 'a) -> 'a -> 'a
val filter_map_inplace :
  t ->
  (Gil_syntax.Var.t -> Gil_syntax.Expr.t -> Gil_syntax.Expr.t option) ->
  unit
val vars : t -> Gil_syntax.Var.Set.t
val lvars : t -> Gil_syntax.Var.Set.t
val clocs : t -> Gil_syntax.Var.Set.t
val alocs : t -> Gil_syntax.Var.Set.t
val assertions : t -> Gil_syntax.Expr.t list
val substitution_in_place : ?subst_all:bool -> Symbolic.Subst.t -> t -> unit
val is_well_formed : t -> bool
val bindings : t -> (Gil_syntax.Var.t * vt) list
val to_ssubst : t -> Symbolic.Subst.t