Module Checkers.PurityDomain
module ModifiedParamIndices : sig ... end
include Absint.AbstractDomain.S with type t = ModifiedParamIndices.t Absint.AbstractDomain.Types.top_lifted
include Absint.AbstractDomain.NoJoin
include IStdlib.PrettyPrintable.PrintableType
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val pure : t
Pure abstract state: no side-effect on parameters and global values. The return value depends only on the value of parameters.
val impure_global : t
Impure abstract state: there may be side-effect on the parameters or global values. Or the return value may depend on the machine state, e.g. `Math.random`.
val impure_params : ModifiedParamIndices.t -> t
Impure abstract state: there may be side-effect on the parameters, but not on global values.
val is_pure : t -> bool
val all_params_modified : (IR.Exp.t * IR.Typ.t) list -> ModifiedParamIndices.t
type summary
= t
val pp_summary : Stdlib.Format.formatter -> t -> unit