diff options
Diffstat (limited to 'src/rebar_xref.erl')
-rw-r--r-- | src/rebar_xref.erl | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/rebar_xref.erl b/src/rebar_xref.erl index 4b045a0..84b59f6 100644 --- a/src/rebar_xref.erl +++ b/src/rebar_xref.erl @@ -146,10 +146,10 @@ filter_away_ignored(UnusedExports) -> %% any functions marked to ignore. We then use this list to mask any %% functions marked as unused exports by xref F = fun(Mod) -> - Attrs = kf(attributes, Mod:module_info()), - Ignore = kf(ignore_xref, Attrs), - Callbacks = - [B:behaviour_info(callbacks) || B <- kf(behaviour, Attrs)], + Attrs = Mod:module_info(attributes), + Ignore = keyall(ignore_xref, Attrs), + Callbacks = [B:behaviour_info(callbacks) + || B <- keyall(behaviour, Attrs)], [{Mod, F, A} || {F, A} <- Ignore ++ lists:flatten(Callbacks)] end, AttrIgnore = @@ -157,14 +157,8 @@ filter_away_ignored(UnusedExports) -> lists:map(F, lists:usort([M || {M, _, _} <- UnusedExports]))), [X || X <- UnusedExports, not lists:member(X, AttrIgnore)]. - -kf(Key, List) -> - case lists:keyfind(Key, 1, List) of - {Key, Value} -> - Value; - false -> - [] - end. +keyall(Key, List) -> + lists:flatmap(fun({K, L}) when Key =:= K -> L; (_) -> [] end, List). display_mfas([], _Message) -> ok; |