From 53461d60e752f929d18e0ec62e405f85c8a8176a Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Sat, 25 Jun 2022 00:02:52 +0400 Subject: [PATCH] Remove the file aeso_code_errors.erl --- src/aeso_ast_to_fcode.erl | 4 +++- src/aeso_code_errors.erl | 38 -------------------------------------- src/aeso_compiler.erl | 2 +- src/aeso_errors.erl | 7 +++++++ src/aeso_fcode_to_fate.erl | 4 +++- 5 files changed, 14 insertions(+), 41 deletions(-) delete mode 100644 src/aeso_code_errors.erl diff --git a/src/aeso_ast_to_fcode.erl b/src/aeso_ast_to_fcode.erl index f9f6787..e4bbcd0 100644 --- a/src/aeso_ast_to_fcode.erl +++ b/src/aeso_ast_to_fcode.erl @@ -2019,7 +2019,9 @@ setnth(I, X, Xs) -> -dialyzer({nowarn_function, [fcode_error/1, internal_error/1]}). fcode_error(Error) -> - aeso_errors:throw(aeso_code_errors:format(Error)). + Pos = aeso_errors:pos(0, 0), + Msg = lists:flatten(io_lib:format("Unknown error: ~p\n", [Error])), + aeso_errors:throw(aeso_errors:new(code_error, Pos, Msg)). internal_error(Error) -> Msg = lists:flatten(io_lib:format("~p\n", [Error])), diff --git a/src/aeso_code_errors.erl b/src/aeso_code_errors.erl deleted file mode 100644 index 19a4aad..0000000 --- a/src/aeso_code_errors.erl +++ /dev/null @@ -1,38 +0,0 @@ -%%%------------------------------------------------------------------- -%%% @author Ulf Norell -%%% @copyright (C) 2019, Aeternity Anstalt -%%% @doc -%%% Formatting of code generation errors. -%%% @end -%%% -%%%------------------------------------------------------------------- --module(aeso_code_errors). - --export([format/1, pos/1]). - -format({var_args_not_set, Expr}) -> - mk_err( pos(Expr), "Could not deduce type of variable arguments list" - , "When compiling " ++ pp_expr(Expr) - ); - -format(Err) -> - mk_err(aeso_errors:pos(0, 0), io_lib:format("Unknown error: ~p\n", [Err])). - -pos(Ann) -> - File = aeso_syntax:get_ann(file, Ann, no_file), - Line = aeso_syntax:get_ann(line, Ann, 0), - Col = aeso_syntax:get_ann(col, Ann, 0), - aeso_errors:pos(File, Line, Col). - -pp_expr(E) -> - pp_expr(0, E). - -pp_expr(N, E) -> - prettypr:format(prettypr:nest(N, aeso_pretty:expr(E))). - -mk_err(Pos, Msg) -> - aeso_errors:new(code_error, Pos, lists:flatten(Msg)). - -mk_err(Pos, Msg, Cxt) -> - aeso_errors:new(code_error, Pos, lists:flatten(Msg), lists:flatten(Cxt)). - diff --git a/src/aeso_compiler.erl b/src/aeso_compiler.erl index 2982fd6..d49c47d 100644 --- a/src/aeso_compiler.erl +++ b/src/aeso_compiler.erl @@ -349,7 +349,7 @@ get_decode_type(FunName, [{Contract, Ann, _, _, Defs}]) when ?IS_CONTRACT_HEAD(C "init" -> {ok, [], {tuple_t, [], []}}; _ -> Msg = io_lib:format("Function '~s' is missing in contract", [FunName]), - Pos = aeso_code_errors:pos(Ann), + Pos = aeso_errors:pos(Ann), aeso_errors:throw(aeso_errors:new(data_error, Pos, Msg)) end end; diff --git a/src/aeso_errors.erl b/src/aeso_errors.erl index 8a4ba20..766299d 100644 --- a/src/aeso_errors.erl +++ b/src/aeso_errors.erl @@ -34,6 +34,7 @@ , new/2 , new/3 , new/4 + , pos/1 , pos/2 , pos/3 , pp/1 @@ -53,6 +54,12 @@ new(Type, Pos, Msg) -> new(Type, Pos, Msg, Ctxt) -> #err{ type = Type, pos = Pos, message = Msg, context = Ctxt }. +pos(Ann) -> + File = aeso_syntax:get_ann(file, Ann, no_file), + Line = aeso_syntax:get_ann(line, Ann, 0), + Col = aeso_syntax:get_ann(col, Ann, 0), + pos(File, Line, Col). + pos(Line, Col) -> #pos{ line = Line, col = Col }. diff --git a/src/aeso_fcode_to_fate.erl b/src/aeso_fcode_to_fate.erl index 67a4b5c..4d58e3b 100644 --- a/src/aeso_fcode_to_fate.erl +++ b/src/aeso_fcode_to_fate.erl @@ -64,7 +64,9 @@ debug(Tag, Options, Fun) -> -dialyzer({nowarn_function, [code_error/1]}). code_error(Err) -> - aeso_errors:throw(aeso_code_errors:format(Err)). + Pos = aeso_errors:pos(0, 0), + Msg = lists:flatten(io_lib:format("Unknown error: ~p\n", [Err])), + aeso_errors:throw(aeso_errors:new(code_error, Pos, Msg)). %% -- Main -------------------------------------------------------------------