Module InheritanceRule.ReportableViolation

Violation that needs to be reported to the user.

type t
type violation_type =
| InconsistentParam of {
param_description : string;
param_index : int;
}
| InconsistentReturn
val compare_violation_type : violation_type -> violation_type -> int
val from : NullsafeMode.t -> violation -> t option

Depending on the mode, violation might or might not be important enough to be reported to the user. If it should NOT be reported for that mode, this function will return None.

val make_nullsafe_issue : t -> violation_type -> nullsafe_mode:NullsafeMode.t -> loc:IBase.Location.t -> base_proc_name:IR.Procname.Java.t -> overridden_proc_name:IR.Procname.Java.t -> NullsafeIssue.t

Given context around violation, return error message together with the info where to put this message