Module Pulselib.PulseModels

type model_data = {
analysis_data : PulseSummary.t Absint.InterproceduralAnalysis.t;
path : PulseBasicInterface.PathContext.t;
callee_procname : IR.Procname.t;
location : IBase.Location.t;
ret : IR.Ident.t * IR.Typ.t;
}
type model = model_data -> PulseDomainInterface.AbductiveDomain.t -> PulseDomainInterface.ExecutionDomain.t PulseDomainInterface.AccessResult.t list
val dispatch : IR.Tenv.t -> IR.Procname.t -> (PulseBasicInterface.AbstractValue.t * PulseBasicInterface.ValueHistory.t) Absint.ProcnameDispatcher.Call.FuncArg.t list -> model option