Mark only included files as potentially unused (#442)

* Mark only included files as potentially unused

* Update CHANGELOG

* Add test
This commit is contained in:
Gaith Hallak 2023-03-21 13:55:18 +03:00 committed by GitHub
parent 311bf49505
commit 99bb3fe1fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 3 deletions

View File

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
### Removed
### Fixed
- Warning about unused include when there is no include.
## [7.1.0]
### Added

View File

@ -3207,9 +3207,14 @@ when_warning(Warn, Do) ->
%% Warnings (Unused includes)
potential_unused_include(Ann, SrcFile) ->
case aeso_syntax:get_ann(file, Ann, no_file) of
no_file -> ok;
File -> ets_insert(warnings, {unused_include, File, SrcFile})
IsIncluded = aeso_syntax:get_ann(include_type, Ann, none) =/= none,
case IsIncluded of
false -> ok;
true ->
case aeso_syntax:get_ann(file, Ann, no_file) of
no_file -> ok;
File -> ets_insert(warnings, {unused_include, File, SrcFile})
end
end.
used_include(Ann) ->

View File

@ -69,6 +69,7 @@ simple_compile_test_() ->
[ {"Testing warning messages",
fun() ->
#{ warnings := Warnings } = compile("warnings", [warn_all]),
#{ warnings := [] } = compile("warning_unused_include_no_include", [warn_all]),
check_warnings(warnings(), Warnings)
end} ] ++
[].

View File

@ -0,0 +1,5 @@
namespace N =
function nconst() = 1
main contract C =
entrypoint f() = N.nconst()