Pulselib.PulseLatentIssue
module AbductiveDomain = PulseAbductiveDomain
module Diagnostic = PulseDiagnostic
A subset of PulseDiagnostic
that can be "latent", i.e. there is a potential issue in the code but we want to delay reporting until we see the conditions for the bug manifest themselves in some calling context.
type t =
| AccessToInvalidAddress of Diagnostic.access_to_invalid_address
| ErlangError of Diagnostic.ErlangError.t
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
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
val pp : F.formatter -> t -> unit
val to_diagnostic : t -> Diagnostic.t
val should_report :
AbductiveDomain.Summary.t ->
Diagnostic.t ->
[> `DelayReport of t | `ReportNow ]
val add_call :
(Pulselib.PulseBasicInterface.CallEvent.t * IBase.Location.t) ->
((Pulselib.PulseBasicInterface.AbstractValue.t
* Pulselib.PulseBasicInterface.ValueHistory.t)
Pulselib.PulseBasicInterface.AbstractValue.Map.t
* Pulselib.PulseBasicInterface.ValueHistory.t
Pulselib.PulseBasicInterface.CellId.Map.t) ->
AbductiveDomain.t ->
t ->
t