Module AbsLoc.PowLoc
include Absint.AbstractDomain.S
include Absint.AbstractDomain.NoJoin
include IStdlib.PrettyPrintable.PrintableType
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val compare : t -> t -> int
val get_parent_field : t -> t
val append_field : ?typ:IR.Typ.t -> t -> fn:IR.Fieldname.t -> t
val append_star_field : t -> fn:IR.Fieldname.t -> t
val bot : t
val add : Loc.t -> t -> t
val of_list : Loc.t list -> t
val exists : (Loc.t -> bool) -> t -> bool
val mem : Loc.t -> t -> bool
val is_singleton_or_more : t -> Loc.t IStdlib.IContainer.singleton_or_more
val min_elt_opt : t -> Loc.t option
val singleton : Loc.t -> t
val fold : (Loc.t -> 'a -> 'a) -> t -> 'a -> 'a
val cast : IR.Typ.t -> t -> t
val of_c_strlen : t -> t
It appends the
strlen
field.
val unknown : t
val exists_str : f:(string -> bool) -> t -> bool
It checks if a variable or a field name in the location path satisfies
f
.
val is_bot : t -> bool
type eval_locpath
= Symb.SymbolPath.partial -> t
Type for evaluating a path to an abstract location.
val subst : t -> eval_locpath -> t
It substitutes paths in the abstract location using
eval_locpath
.
val subst_loc : Loc.t -> eval_locpath -> t
It substitutes paths in the abstract location using
eval_locpath
.
val lift_cmp : Boolean.EqualOrder.t -> t -> t -> Boolean.t
It lifts a comparison of
Loc.t
tot
. The comparison can beBoolean.EqualOrder.eq
,Boolean.EqualOrder.ne
, etc.