Module Check

module Check: sig .. end
Definition of checks in various flavors.


Base types

type file = 
| Interface (*The analyzed file is an interface.*)
| Implementation (*The analyzed file is an implementation.*)
The kind of analyzed files.
type report_function = int -> int option -> string -> unit 
The type of report functions, accepting the following parameters:
type report = {
   filename : string; (*Name of file being analyzed.*)
   info : report_function; (*Function used to report an information.*)
   warning : report_function; (*Function used to report a warning.*)
   error : report_function; (*Function used to report an error.*)
}
The type of reports, that is report functions for the various levels.

Generic checks

module type T = sig .. end

Specialized checks

type lines = file * (int * string) list 
The type associated with checks over source lines.
type ocamldoc = Odoc_info.Module.t_module 
The type associated with checks over ocamldoc comments.
type tokens = file * (int * int * Camlp4.Sig.camlp4_token) list 
The type associated with checks over source tokens.
type structure = Camlp4.PreCast.Ast.str_item 
The type associated with checks over implementation syntax trees.
type signature = Camlp4.PreCast.Ast.sig_item 
The type associated with checks over interface syntax trees.
type annotations = Annotation.file 
The type associated with checks over annotation files.
type binary_annotations = Cmt_format.cmt_infos 
The type associated with checks over binary annotation files.
module type Lines = T  with type t = lines
The type of checks over source lines.
module type OCamldoc = T  with type t = ocamldoc
The type of checks over ocamldoc comments.
module type Tokens = T  with type t = tokens
The type of checks over source tokens.
module type Structure = T  with type t = structure
The type of checks over implementation syntax trees.
module type Signature = T  with type t = signature
The type of checks over interface syntax trees.
module type Annotations = T  with type t = annotations
The type of checks over annotation files.
module type Binary_annotations = T  with type t = binary_annotations
The type of checks over binary annotation files.
type t = 
| Lines of (module Check.Lines) (*Checks over source lines.*)
| OCamldoc of (module Check.OCamldoc) (*Checks over ocamldoc comments.*)
| Tokens of (module Check.Tokens) (*Checks over source tokens.*)
| Structure of (module Check.Structure) (*Checks over implementation syntax trees.*)
| Signature of (module Check.Signature) (*Checks over interface syntax trees.*)
| Annotations of (module Check.Annotations) (*Checks over annotation files.*)
| Binary_annotations of (module Check.Binary_annotations) (*Checks over binary annotation files.*)
The type of checks.

Accessors

val category : t -> CategoryName.t
Returns the category of the passed check.
val name : t -> CheckName.t
Returns the name of the passed check.
val multiple : t -> bool
Returns whether the passed check supports multiple instances.
val description : t -> string
Returns the description of the passed check.
val documentation : t -> string
Returns the documentation of the passed check.
val rationale : t -> string
Returns the rationale of the passed check.
val limits : t -> string
Returns the limits of the passed check.
val parameters : t -> Parameter.map
Returns the parameters of the passed check.
val same : t -> t -> bool
Tests whether the passed checks have the same name.