Michelson: pretty print typechecking errors when using run program

This commit is contained in:
Benjamin Canou 2017-07-22 00:09:22 +02:00
parent 77433a5f15
commit d083add61f
2 changed files with 5 additions and 3 deletions

View File

@ -607,7 +607,7 @@ let commands () =
trace >>= fun () ->
return ()
| Error errs ->
cctxt.warning "%a" pp_print_error errs >>= fun () ->
report_typechecking_errors cctxt errs >>= fun () ->
cctxt.error "error running program" >>= fun () ->
return ()
else
@ -619,7 +619,7 @@ let commands () =
(print_expr no_locations) output >>= fun () ->
return ()
| Error errs ->
cctxt.warning "%a" pp_print_error errs >>= fun () ->
report_typechecking_errors cctxt errs >>= fun () ->
cctxt.error "error running program" >>= fun () ->
return ()) ;

View File

@ -515,7 +515,9 @@ and execute ?log origination orig source ctxt storage script amount arg qta =
(Lwt.return (parse_ty storage_type)) >>=? fun (Ex_ty storage_type) ->
let arg_type_full = Pair_t (Pair_t (Tez_t, arg_type), storage_type) in
let ret_type_full = Pair_t (ret_type, storage_type) in
parse_lambda ~storage_type ctxt arg_type_full ret_type_full code >>=? fun lambda ->
trace
(Ill_typed_contract (code, arg_type, ret_type, storage_type, []))
(parse_lambda ~storage_type ctxt arg_type_full ret_type_full code) >>=? fun lambda ->
parse_data ctxt arg_type arg >>=? fun arg ->
parse_data ctxt storage_type storage >>=? fun storage ->
interp ?log origination qta orig source amount ctxt lambda ((amount, arg), storage)