Module Pulselib__PulseDiagnostic

module Invalidation = Pulselib.PulseInvalidation
module Trace = Pulselib.PulseTrace
module ValueHistory = Pulselib.PulseValueHistory
type t =
| AccessToInvalidAddress of {
invalidation : Invalidation.t;
invalidation_trace : Trace.t;
access_trace : Trace.t;
}
| MemoryLeak of {
procname : IR.Procname.t;
allocation_trace : Trace.t;
location : IBase.Location.t;
}
| StackVariableAddressEscape of {
variable : IR.Var.t;
history : ValueHistory.t;
location : IBase.Location.t;
}

an error to report to the user

val get_message : t -> string
val get_location : t -> IBase.Location.t
val get_issue_type : t -> IBase.IssueType.t
val get_trace : t -> IR.Errlog.loc_trace