From 51dd74dd7c6778f00cf3accd2d38832f9c003722 Mon Sep 17 00:00:00 2001 From: radrow Date: Mon, 23 Mar 2020 16:32:08 +0100 Subject: [PATCH] Properly ban nested contracts --- src/aeso_ast_infer_types.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index b588dd8..6620381 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -2403,7 +2403,11 @@ mk_error({include, _, {string, Pos, Name}}) -> [binary_to_list(Name), pp_loc(Pos)]), mk_t_err(pos(Pos), Msg); mk_error({namespace, _Pos, {con, Pos, Name}, _Def}) -> - Msg = io_lib:format("Nested namespace not allowed\nNamespace '~s' at ~s not defined at top level.\n", + Msg = io_lib:format("Nested namespaces are not allowed\nNamespace '~s' at ~s not defined at top level.\n", + [Name, pp_loc(Pos)]), + mk_t_err(pos(Pos), Msg); +mk_error({contract, _Pos, {con, Pos, Name}, _Def}) -> + Msg = io_lib:format("Nested contracts are not allowed\nContract '~s' at ~s not defined at top level.\n", [Name, pp_loc(Pos)]), mk_t_err(pos(Pos), Msg); mk_error({type_decl, _, {id, Pos, Name}, _}) ->