Module Pulselib__PulseInterproc

val apply_prepost : IR.Procname.t -> IBase.Location.t -> callee_prepost:Pulselib.PulseAbductiveDomain.t -> captured_vars_with_actuals:(IR.Var.t * (Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.ValueHistory.t)) list -> formals:IR.Var.t list -> actuals:((Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.ValueHistory.t) * IR.Typ.t) list -> Pulselib.PulseAbductiveDomain.t -> ((Pulselib.PulseAbductiveDomain.t * (Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.ValueHistory.t) option) optionPulselib.PulseBasicInterface.Diagnostic.t * Pulselib.PulseAbductiveDomain.t) IStdlib.IStd.result

return the abstract state after the call along with an optional return value, or None if the precondition could not be satisfied (e.g. some aliasing constraints were not satisfied)