SymbLocksDomain.ILock
Index-based symbolic lock
module Idx : sig ... end
Index in index-based symbolic lock
include sig ... end
type t =
AddressDomain.AddressBase(Mval.MakePrintable(Offset.MakePrintable(Idx))).t =
| Addr of Mval.MakePrintable(Offset.MakePrintable(Idx)).t
| NullPtr
| UnknownPtr
| StrPtr of StringDomain.t
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 of_string : string -> t
val to_string : t -> string option
val to_c_string : t -> string option
val to_n_c_string : int -> t -> string option
val to_string_length : t -> int option
val is_definite : t -> bool
val add_offset :
t ->
Mval.MakePrintable(Offset.MakePrintable(Idx)).idx Offset.t ->
t
val of_var : GoblintCil.varinfo -> t
val to_var : t -> GoblintCil.varinfo option
val to_var_may : t -> GoblintCil.varinfo option
val to_var_must : t -> GoblintCil.varinfo option
val to_mval : t -> Mval.MakePrintable(Offset.MakePrintable(Idx)).t option
val to_exp : t -> GoblintCil.exp
val type_of : t -> GoblintCil.typ
val conv_const_offset :
GoblintCil.offset ->
[> `Field of GoblintCil.fieldinfo * 'a | `Index of Idx.t * 'a | `NoOffset ] as 'a
val of_mval : (GoblintCil.varinfo * GoblintCil.offset) -> t