Module InferModules.Builtin

type args = {
summary : Summary.t;
instr : InferIR.Sil.instr;
tenv : InferIR.Tenv.t;
prop_ : Prop.normal Prop.t;
path : Paths.Path.t;
ret_id_typ : InferIR.Ident.t * InferIR.Typ.t;
args : (InferIR.Exp.t * InferIR.Typ.t) list;
proc_name : InferIR.Typ.Procname.t;
loc : InferBase.Location.t;
exe_env : Exe_env.t;
}
type ret_typ = (Prop.normal Prop.t * Paths.Path.t) list
type t = args -> ret_typ
type registered
val register : InferIR.Typ.Procname.t -> t -> registered

Register a builtin Typ.Procname.t and symbolic execution handler

val get : InferIR.Typ.Procname.t -> t option

Get the symbolic execution handler associated to the builtin function name

val print_and_exit : unit -> 'a

Print the builtin functions and exit