diff options
| author | Jon French | 2018-08-28 18:15:54 +0100 |
|---|---|---|
| committer | Jon French | 2018-08-28 18:16:01 +0100 |
| commit | 6ae76dbd77ae0af0db606263b0c2d62daed74202 (patch) | |
| tree | 112f74f3038a1b1d35b3ff27d833c95c76869a23 /src/reporting_basic.ml | |
| parent | 9232814ed220cff16e6cac808f327b326f2e2f2c (diff) | |
add __POS__ argument to Err_unreachable for better error reporting
Diffstat (limited to 'src/reporting_basic.ml')
| -rw-r--r-- | src/reporting_basic.ml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/reporting_basic.ml b/src/reporting_basic.ml index c0b3440d..a90c2bcd 100644 --- a/src/reporting_basic.ml +++ b/src/reporting_basic.ml @@ -257,7 +257,7 @@ let print_err fatal verb_loc l m1 m2 = type error = | Err_general of Parse_ast.l * string - | Err_unreachable of Parse_ast.l * string + | Err_unreachable of Parse_ast.l * (string * int * int * int) * string | Err_todo of Parse_ast.l * string | Err_syntax of Lexing.position * string | Err_syntax_locn of Parse_ast.l * string @@ -267,7 +267,7 @@ type error = let dest_err = function | Err_general (l, m) -> ("Error", false, Loc l, m) - | Err_unreachable (l, m) -> ("Internal error: Unreachable code", false, Loc l, m) + | Err_unreachable (l, (file, line, _, _), m) -> ((Printf.sprintf "Internal error: Unreachable code (at \"%s\" line %d)" file line), false, Loc l, m) | Err_todo (l, m) -> ("Todo" ^ m, false, Loc l, "") | Err_syntax (p, m) -> ("Syntax error", false, Pos p, m) | Err_syntax_locn (l, m) -> ("Syntax error", false, Loc l, m) @@ -279,7 +279,7 @@ exception Fatal_error of error (* Abbreviations for the very common cases *) let err_todo l m = Fatal_error (Err_todo (l, m)) -let err_unreachable l m = Fatal_error (Err_unreachable (l, m)) +let err_unreachable l ocaml_pos m = Fatal_error (Err_unreachable (l, ocaml_pos, m)) let err_general l m = Fatal_error (Err_general (l, m)) let err_typ l m = Fatal_error (Err_type (l,m)) let err_typ_dual l1 l2 m = Fatal_error (Err_type_dual (l1,l2,m)) |
