Do not mark indirectly included files as unused
This commit is contained in:
parent
c943148d2d
commit
1b8be7a749
@ -857,7 +857,16 @@ infer1(Env, [{Contract, Ann, ConName, Code} | Rest], Acc, Options)
|
|||||||
Env3 = bind_contract(Contract1, Env2),
|
Env3 = bind_contract(Contract1, Env2),
|
||||||
infer1(Env3, Rest, [Contract1 | Acc], Options);
|
infer1(Env3, Rest, [Contract1 | Acc], Options);
|
||||||
infer1(Env, [{namespace, Ann, Name, Code} | Rest], Acc, Options) ->
|
infer1(Env, [{namespace, Ann, Name, Code} | Rest], Acc, Options) ->
|
||||||
when_warning(warn_unused_includes, fun() -> potential_unused_include(Ann, proplists:get_value(src_file, Options, no_file)) end),
|
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
|
||||||
|
end),
|
||||||
check_scope_name_clash(Env, namespace, Name),
|
check_scope_name_clash(Env, namespace, Name),
|
||||||
{Env1, Code1} = infer_contract_top(push_scope(namespace, Name, Env), namespace, Code, Options),
|
{Env1, Code1} = infer_contract_top(push_scope(namespace, Name, Env), namespace, Code, Options),
|
||||||
Namespace1 = {namespace, Ann, Name, Code1},
|
Namespace1 = {namespace, Ann, Name, Code1},
|
||||||
|
@ -685,8 +685,9 @@ expand_includes([{include, Ann, {string, _SAnn, File}} | AST], Included, Acc, Op
|
|||||||
Hashed = hash_include(File, Code),
|
Hashed = hash_include(File, Code),
|
||||||
case sets:is_element(Hashed, Included) of
|
case sets:is_element(Hashed, Included) of
|
||||||
false ->
|
false ->
|
||||||
|
SrcFile = proplists:get_value(src_file, Opts, no_file),
|
||||||
IncludeType = case proplists:get_value(file, Ann) of
|
IncludeType = case proplists:get_value(file, Ann) of
|
||||||
no_file -> direct;
|
SrcFile -> direct;
|
||||||
_ -> indirect
|
_ -> indirect
|
||||||
end,
|
end,
|
||||||
Opts1 = lists:keystore(src_file, 1, Opts, {src_file, File}),
|
Opts1 = lists:keystore(src_file, 1, Opts, {src_file, File}),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user