summaryrefslogtreecommitdiff
path: root/compiler/Errors.ml
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/Errors.ml')
-rw-r--r--compiler/Errors.ml48
1 files changed, 34 insertions, 14 deletions
diff --git a/compiler/Errors.ml b/compiler/Errors.ml
index bfdf5796..41e841f0 100644
--- a/compiler/Errors.ml
+++ b/compiler/Errors.ml
@@ -13,43 +13,63 @@ exception CFailure of string
let error_list : (Meta.meta option * string) list ref = ref []
-let push_error (file : string) (line : int) (meta : Meta.meta option) (msg : string) =
- error_list := (meta, msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line) :: !error_list
+let push_error (file : string) (line : int) (meta : Meta.meta option)
+ (msg : string) =
+ error_list :=
+ (meta, msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line)
+ :: !error_list
-let save_error (file : string) (line : int) ?(b : bool = true) (meta : Meta.meta option) (msg : string) =
+let save_error (file : string) (line : int) ?(b : bool = true)
+ (meta : Meta.meta option) (msg : string) =
push_error file line meta msg;
match meta with
| Some m ->
- if !Config.fail_hard && b then
- raise (Failure (format_error_message m (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line)))
- | None -> if !Config.fail_hard && b then raise (Failure msg)
+ if !Config.fail_hard && not b then
+ raise
+ (Failure
+ (format_error_message m
+ (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line)))
+ | None -> if !Config.fail_hard && not b then raise (Failure msg)
-let craise_opt_meta (file : string) (line : int) (meta : Meta.meta option) (msg : string) =
+let craise_opt_meta (file : string) (line : int) (meta : Meta.meta option)
+ (msg : string) =
match meta with
| Some m ->
- if !Config.fail_hard then raise (Failure (format_error_message m (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line)))
+ if !Config.fail_hard then
+ raise
+ (Failure
+ (format_error_message m
+ (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line)))
else
let () = push_error file line (Some m) msg in
raise (CFailure msg)
| None ->
- if !Config.fail_hard then raise (Failure (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line))
+ if !Config.fail_hard then
+ raise
+ (Failure (msg ^ "\n In file:" ^ file ^ "\n Line:" ^ string_of_int line))
else
let () = push_error file line None msg in
raise (CFailure msg)
-let craise (file : string) (line : int) (meta : Meta.meta) (msg : string) = craise_opt_meta file line (Some meta) msg
+let craise (file : string) (line : int) (meta : Meta.meta) (msg : string) =
+ craise_opt_meta file line (Some meta) msg
-let cassert_opt_meta (file : string) (line : int) (b : bool) (meta : Meta.meta option) (msg : string) =
+let cassert_opt_meta (file : string) (line : int) (b : bool)
+ (meta : Meta.meta option) (msg : string) =
if not b then craise_opt_meta file line meta msg
-let cassert (file : string) (line : int) (b : bool) (meta : Meta.meta) (msg : string) =
+let cassert (file : string) (line : int) (b : bool) (meta : Meta.meta)
+ (msg : string) =
cassert_opt_meta file line b (Some meta) msg
-let sanity_check (file : string) (line : int) b meta = cassert file line b meta "Internal error, please file an issue"
+let sanity_check (file : string) (line : int) b meta =
+ cassert file line b meta "Internal error, please file an issue"
let sanity_check_opt_meta (file : string) (line : int) b meta =
cassert_opt_meta file line b meta "Internal error, please file an issue"
-let internal_error (file : string) (line : int) meta = craise file line meta "Internal error, please report an issue"
+let internal_error (file : string) (line : int) meta =
+ craise file line meta "Internal error, please report an issue"
+
let exec_raise = craise
let exec_assert = cassert