Incorrect function arguments message for ReasonLIGO.
This commit is contained in:
parent
09875cf1da
commit
52eff4e764
@ -12,5 +12,5 @@
|
||||
(preprocess
|
||||
(pps ppx_let)
|
||||
)
|
||||
(flags (:standard -w +1..62-4-9-44-40-42-48-30@39@33 -open Simple_utils -open Parser_shared ))
|
||||
(flags (:standard -w +1..62-4-9-44-40-42-48-30@39@33 -open Simple_utils -open Parser_shared))
|
||||
)
|
||||
|
@ -22,7 +22,18 @@ let parse_file (source: string) : AST.t result =
|
||||
let lexbuf = Lexing.from_channel channel in
|
||||
let Lexer.{read ; close ; _} =
|
||||
Lexer.open_token_stream None in
|
||||
specific_try (function
|
||||
specific_try (function
|
||||
| SyntaxError.Error WrongFunctionArguments ->
|
||||
let start = Lexing.lexeme_start_p lexbuf in
|
||||
let end_ = Lexing.lexeme_end_p lexbuf in
|
||||
let str = Format.sprintf
|
||||
"Incorrect function arguments at \"%s\" from (%d, %d) to (%d, %d). In file \"%s|%s\"\n"
|
||||
(Lexing.lexeme lexbuf)
|
||||
start.pos_lnum (start.pos_cnum - start.pos_bol)
|
||||
end_.pos_lnum (end_.pos_cnum - end_.pos_bol)
|
||||
start.pos_fname source
|
||||
in
|
||||
simple_error str
|
||||
| Parser.Error -> (
|
||||
let start = Lexing.lexeme_start_p lexbuf in
|
||||
let end_ = Lexing.lexeme_end_p lexbuf in
|
||||
|
@ -424,8 +424,8 @@ fun_expr:
|
||||
{p.value with inside = arg_to_pattern p.value.inside}
|
||||
in PPar {p with value}
|
||||
| EUnit u -> PUnit u
|
||||
| _ -> failwith "Not supported" in (* TODO: raise a proper exception *)
|
||||
|
||||
| _ -> raise (SyntaxError.Error WrongFunctionArguments)
|
||||
in
|
||||
let fun_args_to_pattern = function
|
||||
EAnnot {
|
||||
value = {
|
||||
@ -453,8 +453,8 @@ fun_expr:
|
||||
in arg_to_pattern (fst fun_args), bindings
|
||||
| EUnit e ->
|
||||
arg_to_pattern (EUnit e), []
|
||||
| _ -> failwith "Not supported" in (* TODO: raise a proper exception *)
|
||||
|
||||
| _ -> raise (SyntaxError.Error WrongFunctionArguments)
|
||||
in
|
||||
let binders = fun_args_to_pattern $1 in
|
||||
let f = {kwd_fun;
|
||||
binders;
|
||||
|
4
src/passes/1-parser/shared/SyntaxError.ml
Normal file
4
src/passes/1-parser/shared/SyntaxError.ml
Normal file
@ -0,0 +1,4 @@
|
||||
type error =
|
||||
| WrongFunctionArguments
|
||||
|
||||
exception Error of error
|
4
src/passes/1-parser/shared/SyntaxError.mli
Normal file
4
src/passes/1-parser/shared/SyntaxError.mli
Normal file
@ -0,0 +1,4 @@
|
||||
type error =
|
||||
| WrongFunctionArguments
|
||||
|
||||
exception Error of error
|
@ -18,6 +18,7 @@
|
||||
FQueue
|
||||
EvalOpt
|
||||
Version
|
||||
SyntaxError
|
||||
)
|
||||
(modules_without_implementation Error)
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user