Module Lmap

module Lmap: sig .. end
Maps from bases to memory maps. The memory maps are those of the Offsetmap module.
Consult the Plugin Development Guide for additional details.

type 'a default_contents = 
| Bottom
| Top of 'a
| Constant of 'a
| Other
Contents of a variable when it is not present in the state. See function default_contents in the functor below
module Make_LOffset: 
functor (V : sig
include Offsetmap_lattice_with_isotropy
include Lattice_type.With_Top_Opt
end-> 
functor (Offsetmap : module type of Offsetmap_sig with type v = V.t and type widen_hint = V.numerical_widen_hint-> 
functor (Default_offsetmap : sig
val name : string
Used to create different datatypes each time the functor is applied
val default_offsetmap : Base.t -> Offsetmap.t Bottom.or_bottom
Value returned when a map is queried, and the base is not present. `Bottom indicates that the base is never bound in such a map.
val default_contents : V.t Lmap.default_contents
This function is used to optimize functions that add keys in a map, in particular when maintaining canonicity w.r.t. default contents. It describes the contents c of the offsetmap resulting from default_offsetmap b. The possible values are: This function is only used on keys that change values. Thus it is safe to have default_offsetmap return something that do not match default_contents on constant keys.
end-> module type of Lmap_sig 
    with type v = V.t
    and type widen_hint_base = V.numerical_widen_hint
    and type offsetmap = Offsetmap.t