Frama-C API - Deps
type t = {
data : Frama_c_kernel.Locations.Zone.t;
(*Memory zone directly required to evaluate the given expression.
*)indirect : Frama_c_kernel.Locations.Zone.t;
(*Memory zone read to compute data addresses.
*)
}
Memory dependencies of an expression.
include Frama_c_kernel.Datatype.S with type t := t
include Frama_c_kernel.Datatype.S_no_copy with type t := t
include Frama_c_kernel.Datatype.Ty with type t := t
val ty : t Frama_c_kernel.Type.t
val descr : t Frama_c_kernel.Descr.t
Datatype descriptor.
val packed_descr : Frama_c_kernel.Structural_descr.pack
Packed version of the descriptor.
val reprs : t list
List of representants of the descriptor.
val hash : t -> int
Hash function: same spec than Hashtbl.hash
.
val pretty : Stdlib.Format.formatter -> t -> unit
Pretty print each value in an user-friendly way.
val mem_project : (Frama_c_kernel.Project_skeleton.t -> bool) -> t -> bool
mem_project f x
must return true
iff there is a value p
of type Project.t
in x
such that f p
returns true
.
val pretty_precise : Stdlib.Format.formatter -> t -> unit
val top : t
val bottom : t
val data : Frama_c_kernel.Locations.Zone.t -> t
val indirect : Frama_c_kernel.Locations.Zone.t -> t
val to_zone : t -> Frama_c_kernel.Locations.Zone.t
val add_data : t -> Frama_c_kernel.Locations.Zone.t -> t
val add_indirect : t -> Frama_c_kernel.Locations.Zone.t -> t
val map : (Frama_c_kernel.Locations.Zone.t -> Frama_c_kernel.Locations.Zone.t) -> t -> t