AddressSet.Addr
type t = AddressBase(Mval).t =
| Addr of Mval.t
Pointer to mvalue.
*)| NullPtr
NULL pointer.
*)| UnknownPtr
Unknown pointer. Could point to globals, heap and escaped variables.
*)| StrPtr of StringDomain.t
String literal pointer. StrPtr None
abstracts any string pointer
val to_n_c_string : int -> t -> string option
Convert StrPtr
to C string of given maximum length if possible.
val to_string_length : t -> int option
Find length of C string if possible.
val is_definite : t -> bool
Whether address is a NULL
pointer or an mvalue that has only definite integer indexing (and fields).
val of_var : GoblintCil.varinfo -> t
Convert from variable (without offset).
val to_var : t -> GoblintCil.varinfo option
Convert to variable if possible.
val to_var_may : t -> GoblintCil.varinfo option
Convert to variable with any offset if possible.
val to_var_must : t -> GoblintCil.varinfo option
Convert to variable without offset if possible.
val to_exp : t -> GoblintCil.exp
Convert to CIL expression.
val type_of : t -> GoblintCil.typ
Type of address.
val hash : t -> int
val show : t -> string
val pretty : unit -> t -> Printable.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
val arbitrary : unit -> t QCheck.arbitrary
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool