package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include sig ... end
module K = Lval.CilLval
module V : sig ... end
module MD : sig ... end
type t
type key = Lval.CilLval.t
type value = V.t
val add : key -> value -> t -> t
val remove : key -> t -> t
val find : key -> t -> value
val find_opt : key -> t -> value option
val mem : key -> t -> bool
val iter : (key -> value -> unit) -> t -> unit
val map : (value -> value) -> t -> t
val filter : (key -> value -> bool) -> t -> t
val mapi : (key -> value -> value) -> t -> t
val fold : (key -> value -> 'a -> 'a) -> t -> 'a -> 'a
val add_list : (key * value) list -> t -> t
val add_list_set : key list -> value -> t -> t
val add_list_fun : key list -> (key -> value) -> t -> t
val for_all : (key -> value -> bool) -> t -> bool
val map2 : (value -> value -> value) -> t -> t -> t
val long_map2 : (value -> value -> value) -> t -> t -> t
val merge : (key -> value option -> value option -> value option) -> t -> t -> t
val cardinal : t -> int
val choose : t -> key * value
val singleton : key -> value -> t
val empty : unit -> t
val is_empty : t -> bool
val exists : (key -> value -> bool) -> t -> bool
val bindings : t -> (key * value) list
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val show : t -> string
val pretty : unit -> t -> GoblintCil.Pretty.doc
val printXml : 'a BatInnerIO.output -> t -> unit
val name : unit -> string
val to_yojson : t -> Yojson.Safe.t
val tag : t -> int
val arbitrary : unit -> t QCheck.arbitrary
val relift : t -> t
val leq : t -> t -> bool
val join : t -> t -> t
val meet : t -> t -> t
val widen : t -> t -> t
val narrow : t -> t -> t
val pretty_diff : unit -> (t * t) -> GoblintCil.Pretty.doc
val bot : unit -> t
val is_bot : t -> bool
val top : unit -> t
val is_top : t -> bool
val widen_with_fct : (value -> value -> value) -> t -> t -> t
val join_with_fct : (value -> value -> value) -> t -> t -> t
val leq_with_fct : (value -> value -> bool) -> t -> t -> bool
val find' : key -> t -> value
val find_option : key -> t -> value option
val get_alias : key -> t -> V.k option
val get_aliased : V.k -> t -> key list
val get_aliases : key -> t -> key list
val alias : key -> key -> t -> t
val remove' : key -> t -> t
val add' : key -> value -> t -> t
val change : key -> value -> t -> t
val get_record : key -> t -> V.r option
val edit_record : key -> (V.r -> V.r) -> t -> t
val is_special_var : V.k -> bool
val without_special_vars : t -> t
val only_globals : t -> t
val add_all : t -> t -> t
val callstack_var : GoblintCil.varinfo * [> `NoOffset ]
val callstack : t -> Node.t list
val string_of_callstack : t -> string
val edit_callstack : (Node.t list -> Node.t list) -> t -> t
val must : key -> (V.r -> bool) -> t -> bool
val may : key -> (V.r -> bool) -> t -> bool
val is_may : key -> t -> bool
val filter_values : (V.r -> bool) -> t -> V.r Goblint_lib.Prelude.Set.t * V.r Goblint_lib.Prelude.Set.t
val filter_records : key -> (V.r -> bool) -> t -> V.r Goblint_lib.Prelude.Set.t * V.r Goblint_lib.Prelude.Set.t
val unknown : key -> t -> t
val is_unknown : key -> t -> bool
val string_of_state : key -> t -> string
val string_of_key : V.k -> string
val string_of_keys : V.r Goblint_lib.Prelude.Set.t -> string
val string_of_entry : V.k -> t -> string
val string_of_map : t -> string list
val warn : ?may:bool -> ?loc:Node.t list -> string -> unit
val sprint : (unit -> 'a -> GoblintCil.Pretty.doc) -> 'a -> string
val key_from_lval : GoblintCil.lval -> GoblintCil.varinfo * [> `Field of GoblintCil.fieldinfo * 'a | `Index of GoblintCil.exp * 'a | `NoOffset ] as 'a
val keys_from_lval : GoblintCil.lval -> Queries.ask -> Queries.LS.elt list
val report_ : ?neg:bool -> key -> (V.r -> bool) -> string -> t -> (unit -> unit) * [> `May of bool | `Must of bool ]
val report : ?neg:bool -> key -> (V.r -> bool) -> string -> t -> unit
val reports : key -> (bool * (V.r -> bool) * string) list -> t -> unit
val opened : V.r -> bool
val closed : V.r -> bool
val writable : V.r -> bool
val fopen : key -> Node.t list -> string -> string -> t -> t
val fclose : key -> Node.t list -> t -> t
val error : key -> t -> t
val success : key -> t -> t