Frama-C API - Widen_type
Widening hints for the Value Analysis datastructures.
include Datatype.S
include Datatype.S_no_copy
val packed_descr : 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 mem_project : (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 empty : t
An empty set of hints
val default : unit -> t
A default set of hints
val pretty : Stdlib.Format.formatter -> t -> unit
Pretty-prints a set of hints (for debug purposes only).
val num_hints : Cil_types.stmt option -> Base.t option -> Int_val.widen_hint -> t
Define numeric hints for one or all variables (None
), for a certain stmt or for all statements (None
).
val float_hints : Cil_types.stmt option -> Base.t option -> Fval.widen_hint -> t
Define floating hints for one or all variables (None
), for a certain stmt or for all statements (None
).
val var_hints : Cil_types.stmt -> Base.Set.t -> t
Define a set of bases to widen in priority for a given statement.
val hints_from_keys : Cil_types.stmt -> t -> Base.Set.t * (Base.t -> Locations.Location_Bytes.widen_hint)
Widen hints for a given statement, suitable for function Cvalue.Model.widen
.