Module BufferOverrunModels.Collection
val create_collection : BoUtils.ModelEnv.model_env -> ret:(InferIR.Ident.t * 'a) -> Dom.Mem.t -> length:Itv.t -> Dom.Mem.t
val copyOf : InferIR.Exp.t -> InferIR.Exp.t -> model
Returns a fixed-size list with a given length backed by the specified array.
val new_collection : model
val eval_collection_internal_array_locs : InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> AbsLoc.PowLoc.t
val get_collection_internal_array_locs : InferIR.Ident.t -> 'a Dom.Mem.t0 -> AbsLoc.PowLoc.t
val eval_collection_length : InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> Dom.Val.t
val change_size_by : size_f:(Itv.t -> Itv.t) -> InferIR.Ident.t -> BoUtils.ModelEnv.model_env -> ret:'a -> InferStdlib.GOption.some Dom.Mem.t0 -> Dom.Mem.t
val add : InferIR.Ident.t -> model
val singleton_collection : model
val put : InferIR.Ident.t -> model
increase the size by
0, 1
because put replaces the value rather than add a new one when the key is found in the map
val size : InferIR.Exp.t -> model
val iterator : InferIR.Exp.t -> model
val init : InferIR.Ident.t -> InferIR.Exp.t -> model
val hasNext : InferIR.Exp.t -> model
val addAll : InferIR.Ident.t -> InferIR.Exp.t -> model
val subList : InferIR.Exp.t -> InferIR.Exp.t -> model
Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. Simply model it as creating a new list with length toIndex - fromIndex.
val putAll : InferIR.Ident.t -> InferIR.Exp.t -> model
increase the size by
0, |collection_to_add|
because put replaces the value rather than add a new one when the key is found in the map
val check_index : last_included:bool -> InferIR.Ident.t -> InferIR.Exp.t -> BoUtils.ModelEnv.model_env -> InferStdlib.GOption.some Dom.Mem.t0 -> InferModules__BufferOverrunUtils.PO.ConditionSet.checked_t -> InferModules__BufferOverrunUtils.PO.ConditionSet.checked_t
val add_at_index : InferIR.Ident.t -> InferIR.Exp.t -> model
val remove_at_index : InferIR.Ident.t -> InferIR.Exp.t -> model
val addAll_at_index : InferIR.Ident.t -> InferIR.Exp.t -> InferIR.Exp.t -> model
val get_or_set_at_index : InferIR.Ident.t -> InferIR.Exp.t -> model