Module MutexGlobals.VMutex
include module type of struct include Goblint_lib.LockDomain.Addr end
type field = GoblintCil.fieldinfoval from_string : string -> tval to_string : t -> string optionval short_addr :
(GoblintCil.varinfo
* ([< `Field of GoblintCil.fieldinfo * 'a
| `Index of PreValueDomain.IndexDomain.t * 'a
| `NoOffset ] as 'a)) ->
stringval pretty : unit -> t -> Goblint_lib__Printable.Pretty.docval to_yojson : t -> [> `String of string ]exception Type_offset of GoblintCil.typ * stringval type_offset :
GoblintCil.typ ->
([ `Field of GoblintCil.fieldinfo * 'a
| `Index of PreValueDomain.IndexDomain.t * 'a
| `NoOffset ] as 'a) ->
GoblintCil.typval get_type_addr :
(GoblintCil.varinfo
* ([ `Field of GoblintCil.fieldinfo * 'a
| `Index of PreValueDomain.IndexDomain.t * 'a
| `NoOffset ] as 'a)) ->
GoblintCil.typval get_type : t -> GoblintCil.typval to_exp : (idx -> GoblintCil.exp) -> t -> GoblintCil.expval add_offsets :
([< `Field of 'b * 'a | `Index of 'c * 'a | `NoOffset ] as 'a) ->
([> `Field of 'b * 'd | `Index of 'c * 'd ] as 'd) ->
'dval remove_offset :
([< `Field of 'b * 'a | `Index of 'c * 'a | `NoOffset NoOffset ] as 'a) ->
[> `Field of 'b * 'd | `Index of 'c * 'd | `NoOffset ] as 'dval arbitrary : unit -> t QCheck.arbitraryval is_definite : t -> boolval join_string_ptr : 'a option -> 'a option -> 'a optionval meet_string_ptr : 'a option -> 'a option -> 'a optionval merge : [ `Join | `Meet | `Narrow | `Widen ] -> t -> t -> tval pretty_diff : unit -> (t * t) -> GoblintCil.Pretty.docval name : unit -> string