Module Pulselib.PulseSummary

type pre_post_list = Pulselib.PulseDomainInterface.ExecutionDomain.summary list
val yojson_of_pre_post_list : pre_post_list -> Ppx_yojson_conv_lib.Yojson.Safe.t
type summary = {
  1. pre_post_list : pre_post_list;
  2. non_disj : Pulselib.PulseDomainInterface.NonDisjDomain.Summary.t;
}
val yojson_of_summary : summary -> Ppx_yojson_conv_lib.Yojson.Safe.t
type t = {
  1. main : summary;
  2. specialized : summary IR.Specialization.Pulse.Map.t;
}
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
val add_disjunctive_pre_post : Pulselib.PulseDomainInterface.ExecutionDomain.summary -> summary -> summary
val empty : summary
val join : summary -> summary -> summary
val pp : IStdlib.Pp.env -> IR.Procname.t -> Stdlib.Format.formatter -> t -> unit

The initial state of the analysis, with the additional path condition self > 0 for Objective-C and this>0 for C++ instance methods.

val merge : t -> t -> t

Merge specialized summaries.