Pulselib.PulsePathContexttype t = {conditions : Pulselib.PulseBasicInterface.ValueHistory.t list;Each history represents a conditional that is affecting the path currently, with the most recent conditional first. The idea is to add these histories to the histories of all variables and memory locations modified while under the influence of these conditionals.
*)timestamp : Pulselib.PulseBasicInterface.Timestamp.t;step number in an intra-procedural analysis
*)}include Ppx_compare_lib.Comparable.S with type t := tval compare : t Base__Ppx_compare_lib.compareinclude Ppx_compare_lib.Equal.S with type t := tval equal : t Base__Ppx_compare_lib.equalinclude Absint.AbstractDomain.Disjunct with type t := tinclude Absint.AbstractDomain.Comparable with type t := tinclude IStdlib.PrettyPrintable.PrintableType with type t := tval pp : IStdlib.PrettyPrintable.F.formatter -> t -> unitequal_fast x y must imply x <=> y; it's a good idea for this function to be "fast", e.g. not depend on the size of its input
val is_normal : t -> booltest if the abstract state represents exactly concrete states
val is_exceptional : t -> booltest if the abstract state represents exactly exceptional concrete states
val is_executable : t -> booltest if the abstract state represents executable states, e.g. ContinueProgram or ExceptionRaised.
val initial : t