Module InferModules.ArrayBlk
module Bound = Bounds.Boundmodule L = InferBase.Loggingmodule ArrInfo : sig ... endinclude sig ... end
type key= AbsLoc.Allocsite.ttype value= ArrInfo.ttype t= InferModules__AbstractDomain.Map(InferModules.AbsLoc.Allocsite)(ArrInfo).t
val empty : tval is_empty : t -> boolval mem : key -> t -> boolval add : key -> value -> t -> tval update : key -> (value option -> value option) -> t -> tval singleton : key -> value -> tval remove : key -> t -> tval merge : (key -> value option -> value option -> value option) -> t -> t -> tval union : (key -> value -> value -> value option) -> t -> t -> tval compare : (value -> value -> int) -> t -> t -> intval equal : (value -> value -> bool) -> t -> t -> boolval iter : (key -> value -> unit) -> t -> unitval fold : (key -> value -> 'a -> 'a) -> t -> 'a -> 'aval for_all : (key -> value -> bool) -> t -> boolval exists : (key -> value -> bool) -> t -> boolval filter : (key -> value -> bool) -> t -> tval partition : (key -> value -> bool) -> t -> t * tval cardinal : t -> intval bindings : t -> (key * value) listval min_binding : t -> key * valueval min_binding_opt : t -> (key * value) optionval max_binding : t -> key * valueval max_binding_opt : t -> (key * value) optionval choose : t -> key * valueval choose_opt : t -> (key * value) optionval split : key -> t -> t * value option * tval find : key -> t -> valueval find_opt : key -> t -> value optionval find_first : (key -> bool) -> t -> key * valueval find_first_opt : (key -> bool) -> t -> (key * value) optionval find_last : (key -> bool) -> t -> key * valueval find_last_opt : (key -> bool) -> t -> (key * value) optionval map : (value -> value) -> t -> tval mapi : (key -> value -> value) -> t -> tval is_singleton_or_more : t -> (key * value) InferStdlib.IContainer.singleton_or_moreval pp_key : InferStdlib.PrettyPrintable.F.formatter -> key -> unitval pp : InferStdlib.PrettyPrintable.F.formatter -> t -> unitval (<=) : lhs:t -> rhs:t -> boolval join : t -> t -> tval widen : prev:t -> next:t -> num_iters:int -> tval bottom : tval is_bottom : t -> bool
val compare : t -> t -> intval bot : tval unknown : tval is_bot : t -> boolval make_c : AbsLoc.Allocsite.t -> offset:Itv.t -> size:Itv.t -> stride:Itv.t -> tval make_java : AbsLoc.Allocsite.t -> length:Itv.t -> tval join_itv : f:(ArrInfo.t -> Itv.t) -> t -> Itv.tval offsetof : t -> Itv.tval sizeof : t -> Itv.tval plus_offset : t -> Itv.t -> tval minus_offset : t -> Itv.t -> tval diff : t -> t -> Itv.tval get_pow_loc : t -> AbsLoc.PowLoc.tval subst : t -> Bound.eval_sym -> AbsLoc.PowLoc.eval_locpath -> AbsLoc.PowLoc.t * tval is_symbolic : t -> boolval get_symbols : t -> InferModules.Itv.SymbolSet.tval normalize : t -> tval do_prune : (ArrInfo.t -> ArrInfo.t -> ArrInfo.t) -> t -> t -> tval prune_comp : InferIR.Binop.t -> t -> t -> tval prune_eq : t -> t -> tval prune_ne : t -> t -> tval set_length : Itv.t -> t -> tval set_stride : Z.t -> t -> tval set_offset : Itv.t -> t -> tval lift_cmp_itv : (Itv.t -> Itv.t -> Boolean.t) -> Boolean.EqualOrder.t -> t -> t -> Boolean.EqualOrder.bval transform_length : f:(Itv.t -> Itv.t) -> t -> t