aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorKostis Sagonas <[email protected]>2016-06-14 17:06:24 +0200
committerHans Bolinder <[email protected]>2016-07-04 13:16:33 +0200
commit35b35e975bf744385484cafd76029163d67d5086 (patch)
tree7bde4edd7e4769e255244182cf11ea068ec61434 /lib
parent30e1d890e37ffd57bfbcf043b3b982c781139418 (diff)
downloadotp-35b35e975bf744385484cafd76029163d67d5086.tar.gz
otp-35b35e975bf744385484cafd76029163d67d5086.tar.bz2
otp-35b35e975bf744385484cafd76029163d67d5086.zip
edoc: Provide a slightly better fix for unmatched returns
An attempt to shut off Dialyzer's unmatched return warnings made a change that simply ignored the return type of a function. It's arguably better to modify the code of this function to not return something "by accident." While at it, rewrote a slighty confusing use of a list comprehension without a generator to a case statement.
Diffstat (limited to 'lib')
-rw-r--r--lib/edoc/src/edoc_tags.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/edoc/src/edoc_tags.erl b/lib/edoc/src/edoc_tags.erl
index 9e2e41e902..93f423b906 100644
--- a/lib/edoc/src/edoc_tags.erl
+++ b/lib/edoc/src/edoc_tags.erl
@@ -213,8 +213,10 @@ filter_tags([#tag{name = N, line = L} = T | Ts], Tags, Where, Ts1) ->
true ->
filter_tags(Ts, Tags, Where, [T | Ts1]);
false ->
- [warning(L, Where, "tag @~s not recognized.", [N]) ||
- Where =/= no],
+ case Where of
+ no -> ok;
+ _ -> warning(L, Where, "tag @~s not recognized.", [N])
+ end,
filter_tags(Ts, Tags, Where, Ts1)
end;
filter_tags([], _, _, Ts) ->
@@ -451,7 +453,7 @@ check_type(#tag{line = L, data = Data}, P0, Ls, Ts) ->
check_type(#t_def{type = Type}, P, Ls, Ts) ->
check_type(Type, P, Ls, Ts);
check_type(#t_type{name = Name, args = Args}, P, Ls, Ts) ->
- _ = check_used_type(Name, Args, P, Ls),
+ check_used_type(Name, Args, P, Ls),
check_types3(Args++Ts, P, Ls);
check_type(#t_var{}, P, Ls, Ts) ->
check_types3(Ts, P, Ls);
@@ -503,7 +505,8 @@ check_used_type(#t_name{name = N, module = Mod}=Name, Args, P, LocalTypes) ->
false ->
#parms{warn = W, line = L, file = File} = P,
%% true = ets:insert(DT, TypeName),
- [type_warning(L, File, "missing type", N, NArgs) || W]
+ _ = [type_warning(L, File, "missing type", N, NArgs) || W],
+ ok
end.
type_warning(Line, File, S, N, NArgs) ->