Module InferIR__Sil.Predicates

Module Predicates records the occurrences of predicates as parameters of (doubly -)linked lists and Epara. Provides unique numbering for predicates and an iterator.

type env

predicate environment

val empty_env : unit -> env

create an empty predicate environment

val is_empty : env -> bool

return true if the environment is empty

val iter : env -> (int -> hpara -> unit) -> (int -> hpara_dll -> unit) -> unit

iter env f f_dll iterates f and f_dll on all the hpara and hpara_dll, passing the unique id to the functions. The iterator can only be used once.

val process_hpred : env -> hpred -> unit

Process one hpred, updating the predicate environment