sig
type t = {
mutable valid : bool;
mutable value : VarUsage.Usage.domain;
mutable param : VarUsage.Usage.domain;
mutable calls :
(bool * VarUsage.Root.t * VarUsage.Context.delta list) list;
}
val empty : unit -> VarUsage.Occur.t
val merge_with :
VarUsage.Usage.domain ->
VarUsage.Context.delta list -> VarUsage.Usage.domain
val update :
VarUsage.Occur.t ->
bool -> VarUsage.Context.target -> VarUsage.Context.delta list -> unit
val propagate :
bool Pervasives.ref ->
VarUsage.Occur.t -> (VarUsage.Root.t -> VarUsage.Usage.domain) -> unit
end