Module Checkers__ImpurityDomain

type trace =
| WrittenTo of Pulselib.PulseTrace.t
| Invalid of Pulselib.PulseInvalidation.t * Pulselib.PulseTrace.t
module ModifiedVar : sig ... end
module ModifiedVarSet : sig ... end
module Exited = Absint.AbstractDomain.BooleanOr
type t = {
modified_params : ModifiedVarSet.t;
modified_globals : ModifiedVarSet.t;
skipped_calls : Pulselib.PulseSkippedCalls.t;
exited : Exited.t;
}
val pure : t
val is_pure : t -> bool
type param_source =
| Formal
| Global
val add_to_errlog : nesting:int -> param_source -> ModifiedVar.t -> Absint.Errlog.loc_trace_elem list -> Absint.Errlog.loc_trace_elem list
val join : t -> t -> t