From e6e6df9d21c3e9f8c54db6ad92d81445e32f8766 Mon Sep 17 00:00:00 2001 From: Gaith Hallak Date: Sun, 30 Jan 2022 18:25:04 +0400 Subject: [PATCH] Show unused include warning only for files that are never used --- src/aeso_ast_infer_types.erl | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/aeso_ast_infer_types.erl b/src/aeso_ast_infer_types.erl index 4378271..eff0aa0 100644 --- a/src/aeso_ast_infer_types.erl +++ b/src/aeso_ast_infer_types.erl @@ -377,9 +377,15 @@ lookup_env(Env, Kind, Ann, Name) -> [Res = {_, {AnnR, _}}] -> when_warning(warn_unused_includes, fun() -> - case proplists:get_value(include_type, Ann, none) of - none -> used_include(AnnR); - _ -> ok + %% If a file is used from a different file, we + %% can then mark it as used + F1 = proplists:get_value(file, Ann, no_file), + F2 = proplists:get_value(file, AnnR, no_file), + if + F1 /= F2 -> + used_include(AnnR); + true -> + ok end end), Res; @@ -859,13 +865,8 @@ infer1(Env, [{Contract, Ann, ConName, Code} | Rest], Acc, Options) infer1(Env, [{namespace, Ann, Name, Code} | Rest], Acc, Options) -> when_warning(warn_unused_includes, fun() -> - case proplists:get_value(include_type, Ann, none) of - direct -> - SrcFile = proplists:get_value(src_file, Options, no_file), - potential_unused_include(Ann, SrcFile); - _ -> - ok - end + SrcFile = proplists:get_value(src_file, Options, no_file), + potential_unused_include(Ann, SrcFile) end), check_scope_name_clash(Env, namespace, Name), {Env1, Code1} = infer_contract_top(push_scope(namespace, Name, Env), namespace, Code, Options),