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.