Absint.Errlog
Module for error logs.
type node_tag =
| Condition of bool
| Exception of IR.Typ.name
| Procedure_start of IR.Procname.t
| Procedure_end of IR.Procname.t
type loc_trace_elem = private {
lt_level : int;
nesting level of procedure calls
*)lt_loc : IBase.Location.t;
source location at the current step in the trace
*)lt_description : string;
description of the current step in the trace
*)}
Element of a loc trace
val make_trace_element :
int ->
IBase.Location.t ->
string ->
node_tag list ->
loc_trace_elem
build a loc_trace_elem from its constituents (unambiguously identified by their types).
type loc_trace = loc_trace_elem list
Trace of locations
type node =
| UnknownNode
| FrontendNode of {
node_key : IR.Procdesc.NodeKey.t;
}
| BackendNode of {
node : IR.Procdesc.Node.t;
}
type err_key = private {
severity : IBase.IssueType.severity;
issue_type : IBase.IssueType.t;
err_desc : Localise.error_desc;
}
type err_data = private {
node_id : int;
node_key : IR.Procdesc.NodeKey.t option;
session : int;
loc : IBase.Location.t;
loc_in_ml_source : IBase.Logging.ocaml_pos option;
loc_trace : loc_trace;
visibility : IBase.IssueType.visibility;
access : string option;
extras : ATDGenerated.Jsonbug_t.extra option;
autofix : ATDGenerated.Jsonbug_t.autofix list;
}
Data associated to a specific error
val empty : unit -> t
Empty error log
val pp_loc_trace : Stdlib.Format.formatter -> loc_trace -> unit
val pp_errors : Stdlib.Format.formatter -> t -> unit
Print errors from error log
val pp_warnings : Stdlib.Format.formatter -> t -> unit
Print warnings from error log
val pp_html :
IBase.SourceFile.t ->
IBase.DB.Results_dir.path ->
Stdlib.Format.formatter ->
t ->
unit
Print an error log in html format
val log_issue :
?severity_override:IBase.IssueType.severity ->
t ->
loc:IBase.Location.t ->
node:node ->
session:int ->
ltr:loc_trace ->
access:string option ->
extras:ATDGenerated.Jsonbug_t.extra option ->
?autofix:ATDGenerated.Jsonbug_j.autofix list ->
IBase.Checker.t ->
IssueToReport.t ->
unit
val loc_trace_length : loc_trace -> int
val loc_trace_max_depth : loc_trace -> int
val issue_type_override : err_data -> string option
val category_override : err_data -> string option