MusteqDomain.Fmodule F = CilType.Fieldinfomodule I = Basetype.CilExpinclude module type of struct include Offset.Exp endinclude Offset.Printable with type idx = GoblintCil.exptype idx = GoblintCil.expType of indices in offset.
include Printable.S with type t = idx Offset_intf.offstype t = idx Offset_intf.offsval hash : t -> intval show : t -> stringval pretty : unit -> t -> Printable.Pretty.docval printXml : 'a BatInnerIO.output -> t -> unitval to_yojson : t -> Yojson.Safe.tval tag : t -> intUnique ID, given by HConsed, for context identification in witness
val arbitrary : unit -> t QCheck.arbitraryval is_definite : t -> boolWhether offset has only definite integer indexing (and fields).
val contains_index : t -> boolWhether offset contains any indexing.
val to_exp : t -> GoblintCil.exp Offset_intf.offsConvert to Goblint offset with GoblintCil.exp indices.
val to_cil_offset : t -> GoblintCil.offsetVersion of to_cil which drops indices for ArrayDomain.
val cmp_zero_offset : t -> [ `MustZero | `MustNonzero | `MayZero ]Compare offset to zero offset.
Zero indices and first fields of a struct are in the same physical memory location as the outer object.
val type_of : base:GoblintCil.typ -> t -> GoblintCil.typType of the offset on the base type.
val of_cil : GoblintCil.offset -> tConvert from CIL offset.
val to_cil : t -> GoblintCil.offsetConvert to CIL offset.
val kill : Basetype.Variables.t -> t -> tval replace : GoblintCil.varinfo -> GoblintCil.exp -> t -> tval real_region : t -> 'a -> boolval pretty_diff : unit -> (t * t) -> GoblintCil.Pretty.docval occurs :
Basetype.Variables.t ->
([< `Field of 'b * 'a | `Index of GoblintCil.exp * 'a | `NoOffset ] as 'a) ->
bool