Module Cvalue.V_Or_Uninitialized

module V_Or_Uninitialized: sig .. end
Values with 'undefined' and 'escaping addresses' flags.

type un_t = 
| C_uninit_esc of Cvalue.V.t
| C_uninit_noesc of Cvalue.V.t
| C_init_esc of Cvalue.V.t
| C_init_noesc of Cvalue.V.t
include Offsetmap_lattice_with_isotropy
include Lattice_type.With_Under_Approximation
include Lattice_type.With_Narrow
val get_v : t -> Cvalue.V.t
val is_bottom : t -> bool
val is_initialized : t -> bool
val is_noesc : t -> bool
val is_indeterminate : t -> bool
val uninitialized : t
val initialized : Cvalue.V.t -> t
val reduce_by_initializedness : bool -> t -> t
reduce_by_initializedness initialized v reduces v so that its result r verifies \initialized(r) if initialized is true, and !\initialized(r) otherwise.
val reduce_by_danglingness : bool -> t -> t
reduce_by_danglingness dangling v reduces v so that its result r verifies \dangling(r) if dangling is true, and !\dangling(r) otherwise.
val remove_indeterminateness : t -> t
Remove 'unitialized' and 'escaping addresses' flags from the argument
val unspecify_escaping_locals : exact:bool -> (Cvalue.V.M.key -> bool) -> t -> Base.SetLattice.t * t
val map : (Cvalue.V.t -> Cvalue.V.t) -> t -> t