Module AccessPath.Abs
type raw
= t
type t
=
|
Abstracted of raw
abstraction of heap reachable from an access path, e.g. x.f*
|
Exact of raw
precise representation of an access path, e.g. x.f.g
val equal : t -> t -> bool
val to_footprint : int -> t -> t
replace the base var with a footprint variable rooted at formal index
formal_index
val get_footprint_index_base : base -> int option
return the formal index associated with the base of this access path if there is one, or None otherwise
val with_base : base -> t -> t
swap base of existing access path for
base_var
(e.g., `with_base_bvar x y.f.g` produces `x.f.g`
val is_exact : t -> bool
return true if
t
is an exact representation of an access path, false if it's an abstraction
val pp : Stdlib.Format.formatter -> t -> unit