Module PulseTransitiveInfo.Callees

for each call site, we remember which resolution was performed

include Absint.AbstractDomain.WithBottom
include Absint.AbstractDomain.S
include Absint.AbstractDomain.Comparable
val leq : lhs:t -> rhs:t -> bool

the implication relation: lhs <= rhs means lhs |- rhs

val join : t -> t -> t
val widen : prev:t -> next:t -> num_iters:int -> t
val bottom : t

The bottom value of the domain.

val is_bottom : t -> bool

Return true if this is the bottom value

val pp : Stdlib.Format.formatter -> t -> unit
type call_kind =
  1. | Static
  2. | Virtual
  3. | Closure
type resolution =
  1. | ResolvedUsingDynamicType
  2. | ResolvedUsingStaticType
  3. | Unresolved
val record : caller_name:string -> caller_loc:IBase.Location.t -> callsite_loc:IBase.Location.t -> call_kind -> resolution -> t -> t
type item = {
  1. callsite_loc : IBase.Location.t;
  2. caller_name : string;
  3. caller_loc : IBase.Location.t;
  4. kind : call_kind;
  5. resolution : resolution;
}
val report_as_extra_info : t -> item list