From ccfa22972e7cff56aeb3bde6020be41e35f24b1a Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Mon, 23 May 2022 22:11:41 +0400 Subject: [PATCH] Use definition instead of declaration --- CHANGELOG.md | 2 +- src/aeso_ast_infer_types.erl | 6 +++--- test/aeso_compiler_tests.erl | 2 +- ...y_record_declaration.aes => empty_record_definition.aes} | 0 4 files changed, 5 insertions(+), 5 deletions(-) rename test/contracts/{empty_record_declaration.aes => empty_record_definition.aes} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86bcadb..486c81d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ``` ### Changed - Error messages have been restructured (less newlines) to provide more unified errors. Also `pp_oneline/1` has been added. -- Ban empty record declarations (e.g. `record r = {}` would give an error). +- Ban empty record definitions (e.g. `record r = {}` would give an error). ### Removed - Support for AEVM has been entirely wiped diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index ef94924..8af28ae 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -1019,7 +1019,7 @@ check_typedef_sccs(Env, TypeMap, [{acyclic, Name} | SCCs], Acc) -> case Def of {alias_t, _} -> check_typedef_sccs(Env1, TypeMap, SCCs, Acc1); {record_t, []} -> - type_error({empty_record_declaration, Ann, Name}), + type_error({empty_record_definition, Ann, Name}), check_typedef_sccs(Env1, TypeMap, SCCs, Acc1); {record_t, Fields} -> %% check_type to get qualified name @@ -3282,8 +3282,8 @@ mk_error({using_undefined_namespace_parts, Ann, Namespace, Parts}) -> mk_error({unknown_warning, Warning}) -> Msg = io_lib:format("Trying to report unknown warning: ~p", [Warning]), mk_t_err(pos(0, 0), Msg); -mk_error({empty_record_declaration, Ann, Name}) -> - Msg = io_lib:format("Empty record declarations are not allowed. Cannot declare the record `~s`", [Name]), +mk_error({empty_record_definition, Ann, Name}) -> + Msg = io_lib:format("Empty record definitions are not allowed. Cannot define the record `~s`", [Name]), mk_t_err(pos(Ann), Msg); mk_error(Err) -> Msg = io_lib:format("Unknown error: ~p", [Err]), diff --git a/test/aeso_compiler_tests.erl b/test/aeso_compiler_tests.erl index 6db76f5..7f9a252 100644 --- a/test/aeso_compiler_tests.erl +++ b/test/aeso_compiler_tests.erl @@ -793,7 +793,7 @@ failing_contracts() -> ]) , ?TYPE_ERROR(empty_record_declaration, [<> + "Empty record definitions are not allowed. Cannot define the record `r`">> ]) , ?TYPE_ERROR(warnings, [<