Module InferModules.Reporting

type log_t = ?⁠ltr:InferIR.Errlog.loc_trace -> ?⁠extras:InferGenerated.Jsonbug_t.extra -> InferBase.IssueType.t -> string -> unit
val log_issue_deprecated_using_state : InferIR.Exceptions.severity -> InferIR.Typ.Procname.t -> ?⁠node:InferIR.Procdesc.Node.t -> ?⁠loc:InferBase.Location.t -> ?⁠ltr:InferIR.Errlog.loc_trace -> exn -> unit

Report an issue in the given procedure using biabduction state (DO NOT USE ELSEWHERE). DEPRECATED as it can create race conditions between checkers. Use log_error/warning instead

val log_frontend_issue : InferIR.Typ.Procname.t -> InferIR.Exceptions.severity -> InferIR.Errlog.t -> loc:InferBase.Location.t -> node_key:InferIR.Procdesc.NodeKey.t -> ltr:InferIR.Errlog.loc_trace -> exn -> unit

Report a frontend issue of a given kind in the given error log.

val log_error : Summary.t -> loc:InferBase.Location.t -> log_t

Add an error to the given summary.

val log_warning : Summary.t -> loc:InferBase.Location.t -> log_t

Add an warning to the given summary.

val log_error_using_state : Summary.t -> exn -> unit

Add an error to the given summary using biabduction state (DO NOT USE ELSEWHERE).

val log_issue_external : InferIR.Typ.Procname.t -> issue_log:InferIR.IssueLog.t -> InferIR.Exceptions.severity -> loc:InferBase.Location.t -> ltr:InferIR.Errlog.loc_trace -> ?⁠access:string -> InferBase.IssueType.t -> string -> InferIR.IssueLog.t

Log an issue to the error log in IssueLog associated with the given procname.

val is_suppressed : ?⁠field_name:InferIR.Typ.Fieldname.t option -> InferIR.Tenv.t -> InferIR.Procdesc.t -> InferBase.IssueType.t -> bool

should an issue report be suppressed due to a @SuppressLint("issue") annotation?