ocaml/utils/warnings.mli

121 lines
5.3 KiB
OCaml
Raw Normal View History

(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Pierre Weis && Damien Doligez, INRIA Rocquencourt *)
(* *)
(* Copyright 1998 Institut National de Recherche en Informatique et *)
(* en Automatique. *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
type loc = {
loc_start: Lexing.position;
loc_end: Lexing.position;
loc_ghost: bool;
}
type t =
| Comment_start (* 1 *)
| Comment_not_end (* 2 *)
| Deprecated of string * loc * loc (* 3 *)
| Fragile_match of string (* 4 *)
| Partial_application (* 5 *)
| Labels_omitted of string list (* 6 *)
| Method_override of string list (* 7 *)
| Partial_match of string (* 8 *)
| Non_closed_record_pattern of string (* 9 *)
| Statement_type (* 10 *)
| Unused_match (* 11 *)
| Unused_pat (* 12 *)
| Instance_variable_override of string list (* 13 *)
| Illegal_backslash (* 14 *)
| Implicit_public_methods of string list (* 15 *)
| Unerasable_optional_argument (* 16 *)
| Undeclared_virtual_method of string (* 17 *)
| Not_principal of string (* 18 *)
| Without_principality of string (* 19 *)
| Unused_argument (* 20 *)
| Nonreturning_statement (* 21 *)
| Preprocessor of string (* 22 *)
| Useless_record_with (* 23 *)
| Bad_module_name of string (* 24 *)
| All_clauses_guarded (* 8, used to be 25 *)
| Unused_var of string (* 26 *)
| Unused_var_strict of string (* 27 *)
| Wildcard_arg_to_constant_constr (* 28 *)
| Eol_in_string (* 29 *)
| Duplicate_definitions of string * string * string * string (* 30 *)
| Multiple_definition of string * string * string (* 31 *)
| Unused_value_declaration of string (* 32 *)
| Unused_open of string (* 33 *)
| Unused_type_declaration of string (* 34 *)
| Unused_for_index of string (* 35 *)
| Unused_ancestor of string (* 36 *)
| Unused_constructor of string * bool * bool (* 37 *)
| Unused_extension of string * bool * bool * bool (* 38 *)
| Unused_rec_flag (* 39 *)
| Name_out_of_scope of string * string list * bool (* 40 *)
| Ambiguous_name of string list * string list * bool * string (* 41 *)
| Disambiguated_name of string (* 42 *)
| Nonoptional_label of string (* 43 *)
| Open_shadow_identifier of string * string (* 44 *)
| Open_shadow_label_constructor of string * string (* 45 *)
| Bad_env_variable of string * string (* 46 *)
| Attribute_payload of string * string (* 47 *)
| Eliminated_optional_arguments of string list (* 48 *)
2015-10-21 06:05:12 -07:00
| No_cmi_file of string * string option (* 49 *)
| Bad_docstring of bool (* 50 *)
| Expect_tailcall (* 51 *)
| Fragile_literal_pattern (* 52 *)
| Misplaced_attribute of string (* 53 *)
| Duplicated_attribute of string (* 54 *)
| Inlining_impossible of string (* 55 *)
| Unreachable_case (* 56 *)
| Ambiguous_pattern of string list (* 57 *)
2015-11-29 08:23:38 -08:00
| No_cmx_file of string (* 58 *)
2016-01-14 04:03:17 -08:00
| Assignment_to_non_mutable_value (* 59 *)
2016-01-12 14:53:59 -08:00
| Unused_module of string (* 60 *)
2016-05-25 07:29:05 -07:00
| Unboxable_type_in_prim_decl of string (* 61 *)
2017-03-13 21:03:19 -07:00
| Constraint_on_gadt (* 62 *)
| Erroneous_printed_signature of string (* 63 *)
| Unsafe_without_parsing (* 64 *)
;;
val parse_options : bool -> string -> unit;;
val without_warnings : (unit -> 'a) -> 'a
val is_active : t -> bool;;
val is_error : t -> bool;;
val defaults_w : string;;
val defaults_warn_error : string;;
type reporting_information =
{ number : int
; message : string
; is_error : bool
; sub_locs : (loc * string) list;
}
val report : t -> [ `Active of reporting_information | `Inactive ]
exception Errors;;
val check_fatal : unit -> unit;;
val reset_fatal: unit -> unit
val help_warnings: unit -> unit
type state
val backup: unit -> state
val restore: state -> unit
2017-07-18 01:44:27 -07:00
val mk_lazy: (unit -> 'a) -> 'a Lazy.t
(** Like [Lazy.of_fun], but the function is applied with
the warning settings at the time [mk_lazy] is called. *)