Pulselib.PulseMutualRecursionthe trace represents the start of a cycle but isn't a cycle yet, it's a sequence of calls that end where ondemand returned no summary due to mutual recursion; these proto-cycles get bubbled the cyclic call stack until the cycle is closed again
include Ppx_compare_lib.Equal.S with type t := tval equal : t Base__Ppx_compare_lib.equalval mk :
IBase.Location.t ->
IR.Procname.t ->
Pulselib.PulseBasicInterface.AbstractValue.t list ->
ta trace of length 1
val get_inner_call : t -> IR.Procname.tthe "initial", innermost call in the cycle
val get_outer_location : t -> IBase.Location.tthe location of the first call in the cycle
val add_call :
(Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.t)
Pulselib.PulseBasicInterface.AbstractValue.Map.t ->
IR.Procname.t ->
IBase.Location.t ->
t ->
t optionval pp : F.formatter -> t -> unitval get_error_message : t -> is_call_with_same_values:bool -> stringval to_errlog : t -> is_call_with_same_values:bool -> Absint.Errlog.loc_tracemodule Set : IStdlib.PrettyPrintable.PPSet with type elt = t