package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type field = Cil.fieldinfo
type idx = Idx.t
module Offs : sig ... end
type t = Lval.Normal(Idx).t =
  1. | Addr of CilType.Varinfo.t * Offs.t
  2. | StrPtr of string
  3. | NullPtr
  4. | SafePtr
  5. | UnknownPtr
val equal : t -> t -> Ppx_deriving_runtime.bool
val compare : t -> t -> Ppx_deriving_runtime.int
val trace_enabled : bool
val invariant : 'a -> 'b -> Invariant.t
val tag : 'a -> 'b
val relift : 'a -> 'a
val name : unit -> string
val get_location : t -> Cil.location
val to_group : t -> Basetype.Variables.group option
val from_var : CilType.Varinfo.t -> t
val from_var_offset : (CilType.Varinfo.t * Offs.t) -> t
val to_var : t -> CilType.Varinfo.t list
val to_var_may : t -> CilType.Varinfo.t list
val to_var_must : t -> CilType.Varinfo.t list
val to_var_offset : t -> (CilType.Varinfo.t * Offs.t) list
val from_string : string -> t
val to_string : t -> string list
val short_offs : [< `Field of Cil.fieldinfo * 'a | `Index of Idx.t * 'a | `NoOffset ] as 'a -> string
val short_addr : (Cil.varinfo * [< `Field of Cil.fieldinfo * 'a | `Index of Idx.t * 'a | `NoOffset ] as 'a) -> string
val show : t -> string
exception Type_offset of Cil.typ * string
val type_offset : Cil.typ -> [ `Field of Cil.fieldinfo * 'a | `Index of Idx.t * 'a | `NoOffset ] as 'a -> Cil.typ
val get_type_addr : (Cil.varinfo * [ `Field of Cil.fieldinfo * 'a | `Index of Idx.t * 'a | `NoOffset ] as 'a) -> Cil.typ
val get_type : t -> Cil.typ
val copy : 'a -> 'a
val hash : t -> int
val is_zero_offset : Offs.t -> bool
val pretty : unit -> t -> Pretty.doc
val to_exp : (idx -> Cil.exp) -> t -> Cil.exp
val add_offsets : [< `Field of 'b * 'a | `Index of 'c * 'a | `NoOffset ] as 'a -> [> `Field of 'b * 'd | `Index of 'c * 'd ] as 'd -> 'd
val add_offset : t -> Offs.t -> t
val remove_offset : [< `Field of 'b * 'a | `Index of 'c * 'a | `NoOffset NoOffset ] as 'a -> [> `Field of 'b * 'd | `Index of 'c * 'd | `NoOffset ] as 'd
val arbitrary : unit -> t QCheck.arbitrary
val is_definite : t -> bool
val leq : t -> t -> bool
val drop_ints : t -> t
val merge : [ `Join | `Meet | `Narrow | `Widen ] -> t -> t -> t
val join : t -> t -> t
val widen : t -> t -> t
val meet : t -> t -> t
val narrow : t -> t -> t
val printXml : 'a BatInnerIO.output -> t -> unit
val to_yojson : t -> [> `String of string ]
val pretty_diff : unit -> (t * t) -> Pretty.doc