Module Pulselib.PulseDiagnostic
module CallEvent = PulseCallEventmodule Invalidation = PulseInvalidationmodule Trace = PulseTracemodule ValueHistory = PulseValueHistorytype access_to_invalid_address={calling_context : (CallEvent.t * IBase.Location.t) list;the list of function calls leading to the issue being realised, which is an additional common prefix to the traces in the record
invalidation : Invalidation.t;invalidation_trace : Trace.t;assuming we are in the calling context, the trace leads to
invalidationwithout further assumptionsaccess_trace : Trace.t;assuming we are in the calling context, the trace leads to an access to the value invalidated in
invalidation_tracewithout further assumptions}
val equal_access_to_invalid_address : access_to_invalid_address -> access_to_invalid_address -> bool
type t=|AccessToInvalidAddress of access_to_invalid_address|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 -> stringval get_location : t -> IBase.Location.tval get_issue_type : t -> IBase.IssueType.tval get_trace : t -> Absint.Errlog.loc_trace