IBase.Checker
type t =
| AnnotationReachability
| Biabduction
| BufferOverrunAnalysis
| BufferOverrunChecker
| ConfigImpactAnalysis
| Cost
| DisjunctiveDemo
| FragmentRetainsView
| Impurity
| InefficientKeysetIterator
| Lineage
| LineageShape
| LithoRequiredProps
| Liveness
| LoopHoisting
| ParameterNotNullChecked
| Pulse
| PurityAnalysis
| PurityChecker
| RacerD
| ResourceLeakLabExercise
| SILValidation
| SIOF
| ScopeLeakage
| SelfInBlock
| Starvation
| Topl
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
include Ppx_enumerate_lib.Enumerable.S with type t := t
val all : t list
type kind =
| UserFacing of {
title : string;
the title of the documentation web page
*)markdown_body : string;
main text of the documentation
*)}
can report issues to users
*)| UserFacingDeprecated of {
title : string;
the title of the documentation web page
*)markdown_body : string;
main text of the documentation
*)deprecation_message : string;
}
can report issues to users but should probably be deleted from infer
*)| Internal
Analysis that only serves other analyses. Do not use to mean experimental! Please still document experimental checkers as they will become non-experimental.
*)| Exercise
reserved for the "resource leak" lab exercise
*)type config = {
id : string;
Unique identifier. Used to generate web URLs for the documentation as well as the flag to enable this option on the command line.
*)kind : kind;
support : Language.t -> support;
short_documentation : string;
used in man pages and as a short intro on the website
*)cli_flags : cli_flags option;
If None
then the checker cannot be enabled/disabled from the command line.
enabled_by_default : bool;
activates : t list;
list of checkers that get enabled when this checker is enabled
*)}
val get_id : t -> string
get_id c
is (config c).id
val from_id : string -> t option
val pp_manual : F.formatter -> t -> unit
prints a short explanation of the checker; used for the man pages
module Set : IStdlib.PrettyPrintable.PPSet with type elt = t