aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/xref.mk9
-rw-r--r--test/plugin_xref.mk20
2 files changed, 17 insertions, 12 deletions
diff --git a/plugins/xref.mk b/plugins/xref.mk
index 27d66d2..0ecace2 100644
--- a/plugins/xref.mk
+++ b/plugins/xref.mk
@@ -107,9 +107,9 @@ define xref.erl
true -> Res0;
false ->
lists:filter(fun(R) ->
- {Mod, MFA} = case R of
- {MFA0 = {M, _, _}, _} -> {M, MFA0};
- {M, _, _} -> {M, R}
+ {Mod, InMFA, MFA} = case R of
+ {InMFA0 = {M, _, _}, MFA0} -> {M, InMFA0, MFA0};
+ {M, _, _} -> {M, R, R}
end,
Attrs = try
Mod:module_info(attributes)
@@ -147,7 +147,8 @@ define xref.erl
true -> [$(XREF_IGNORE)]
end,
Ignores = InlineIgnores ++ BuiltinIgnores ++ CallbackIgnores ++ WideIgnores,
- not (lists:member(MFA, Ignores)
+ not (lists:member(InMFA, Ignores)
+ orelse lists:member(MFA, Ignores)
orelse lists:member({Mod, '_', '_'}, Ignores))
end, Res0)
end,
diff --git a/test/plugin_xref.mk b/test/plugin_xref.mk
index 06b145b..0246e23 100644
--- a/test/plugin_xref.mk
+++ b/test/plugin_xref.mk
@@ -215,7 +215,7 @@ xref-ignore-inline-fa: init
"-module(bad)." \
"-export([f/0])." \
"-ignore_xref([{f,0}])." \
- "f() -> this_module:does_not_exist()." \
+ "f() -> f_module:f_not_exist()." \
> $(APP)/src/bad.erl
$i "Run the Xref plugin, expect success"
@@ -228,12 +228,14 @@ xref-ignore-inline-mfa: init
$t cp ../erlang.mk $(APP)/
$t $(MAKE) -C $(APP) -f erlang.mk bootstrap $v
- $i "Create a module with an undefined function call and an inline ignore"
+ $i "Create a module with undefined function calls and inline ignores"
$t printf "%s\n" \
"-module(bad)." \
- "-export([f/0])." \
+ "-export([f/0, g/0])." \
"-ignore_xref([{bad,f,0}])." \
- "f() -> this_module:does_not_exist()." \
+ "-ignore_xref({g_module,g_not_exist,0})." \
+ "f() -> f_module:f_not_exist()." \
+ "g() -> g_module:g_not_exist()." \
> $(APP)/src/bad.erl
$i "Run the Xref plugin, expect success"
@@ -246,12 +248,14 @@ xref-ignore-inline-mod: init
$t cp ../erlang.mk $(APP)/
$t $(MAKE) -C $(APP) -f erlang.mk bootstrap $v
- $i "Create a module with an undefined function call and an inline ignore"
+ $i "Create a module with undefined function calls and inline ignores"
$t printf "%s\n" \
"-module(bad)." \
- "-export([f/0])." \
- "-ignore_xref(?MODULE)." \
- "f() -> this_module:does_not_exist()." \
+ "-export([f/0, g/0])." \
+ "-ignore_xref([?MODULE])." \
+ "-ignore_xref(g_module)." \
+ "f() -> f_module:f_not_exist()." \
+ "g() -> g_module:g_not_exist()." \
> $(APP)/src/bad.erl
$i "Run the Xref plugin, expect success"