Pulselib.PulseTransitiveInfo
module Callees : sig ... end
for each call site, we remember which resolution was performed
type t = {
accesses : PulseTrace.Set.t;
record specific accesses inter-procedurally
*)callees : Callees.t;
record all call resolutions that were transitively performed
*)missed_captures : IR.Typ.Name.Set.t;
record types that were missing during name resolution (fields/methods) while analysing this function and its transitive callees
*)}
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include Absint.AbstractDomain.WithBottom with type t := t
include Absint.AbstractDomain.S with type t := t
include Absint.AbstractDomain.Comparable with type t := t
include IStdlib.PrettyPrintable.PrintableType with type t := t
val pp : IStdlib.PrettyPrintable.F.formatter -> t -> unit
val bottom : t
The bottom value of the domain.
val is_bottom : t -> bool
Return true if this is the bottom value
val apply_summary :
callee_pname:IR.Procname.t ->
call_loc:IBase.Location.t ->
summary:t ->
t ->
t
module MissedCaptures :
Absint.AbstractDomain.FiniteSetS with type t = IR.Typ.Name.Set.t