Skip to content

Commit 05dba8e

Browse files
author
José Valim
committed
Remove exclude? logic from unreachable_mfa
1 parent 6fb5372 commit 05dba8e

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

lib/mix/lib/mix/tasks/xref.ex

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,9 @@ defmodule Mix.Tasks.Xref do
302302
{module, func_arity_locations} <- source(source, :runtime_dispatches),
303303
{exports, deprecated} = exports_and_deprecated[module],
304304
{{func, arity}, locations} <- func_arity_locations,
305+
not excluded?(excludes, module, func, arity),
305306
warning =
306-
unreachable_mfa(exports, module, func, arity, excludes) ||
307+
unreachable_mfa(exports, module, func, arity) ||
307308
deprecated_mfa(deprecated, module, func, arity),
308309
do: {warning, absolute_locations(locations, source(source, :source))}
309310

@@ -312,6 +313,7 @@ defmodule Mix.Tasks.Xref do
312313
{module, func_arity_locations} <- source(source, :compile_dispatches),
313314
{_, deprecated} = exports_and_deprecated[module],
314315
{{func, arity}, locations} <- func_arity_locations,
316+
not excluded?(excludes, module, func, arity),
315317
warning = deprecated_mfa(deprecated, module, func, arity),
316318
do: {warning, absolute_locations(locations, source(source, :source))}
317319

@@ -355,12 +357,9 @@ defmodule Mix.Tasks.Xref do
355357
end
356358
end
357359

358-
defp unreachable_mfa(exports, module, func, arity, excludes) do
360+
defp unreachable_mfa(exports, module, func, arity) do
359361
cond do
360-
excluded?(module, func, arity, excludes) ->
361-
nil
362-
363-
skip?(module, func, arity) ->
362+
skip_unreachable?(module, func, arity) ->
364363
nil
365364

366365
exports == :unknown_module ->
@@ -389,11 +388,11 @@ defmodule Mix.Tasks.Xref do
389388

390389
@protocol_builtins for {_, type} <- Protocol.__builtin__(), do: type
391390

392-
defp skip?(:erlang, func, 2) when func in [:andalso, :orelse] do
391+
defp skip_unreachable?(:erlang, func, 2) when func in [:andalso, :orelse] do
393392
true
394393
end
395394

396-
defp skip?(module, :__impl__, 1) do
395+
defp skip_unreachable?(module, :__impl__, 1) do
397396
{maybe_protocol, maybe_builtin} = module |> Module.split() |> Enum.split(-1)
398397
maybe_protocol = Module.concat(maybe_protocol)
399398
maybe_builtin = Module.concat(maybe_builtin)
@@ -402,7 +401,7 @@ defmodule Mix.Tasks.Xref do
402401
function_exported?(maybe_protocol, :__protocol__, 1)
403402
end
404403

405-
defp skip?(_, _, _) do
404+
defp skip_unreachable?(_, _, _) do
406405
false
407406
end
408407

@@ -413,7 +412,7 @@ defmodule Mix.Tasks.Xref do
413412
|> MapSet.new()
414413
end
415414

416-
defp excluded?(module, func, arity, excludes) do
415+
defp excluded?(excludes, module, func, arity) do
417416
MapSet.member?(excludes, module) or MapSet.member?(excludes, {module, func, arity})
418417
end
419418

0 commit comments

Comments
 (0)