summaryrefslogtreecommitdiff
path: root/lib/elixir/src/elixir_fn.erl
diff options
context:
space:
mode:
authorEric Entin <whoknew@gmail.com>2016-05-25 15:53:42 -0400
committerJosé Valim <jose.valim@gmail.com>2016-05-25 21:53:42 +0200
commitb15d641e4282498199ba35748b3362a4d6e19d7d (patch)
tree9513cadeff66420593031e277cda8fdb00842c83 /lib/elixir/src/elixir_fn.erl
parent3cac57ceaa45fd043ad1903c161e76ceafca5c28 (diff)
downloadelixir-b15d641e4282498199ba35748b3362a4d6e19d7d.tar.gz
Add `mix xref --callers M.f/a` (#4683)
Diffstat (limited to 'lib/elixir/src/elixir_fn.erl')
-rw-r--r--lib/elixir/src/elixir_fn.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/elixir/src/elixir_fn.erl b/lib/elixir/src/elixir_fn.erl
index 03bc14e73..21ab98800 100644
--- a/lib/elixir/src/elixir_fn.erl
+++ b/lib/elixir/src/elixir_fn.erl
@@ -99,6 +99,12 @@ capture_require(Meta, {{'.', _, [Left, Right]}, RequireMeta, Args} = Expr, E, Se
handle_capture({local, Fun, Arity}, _Meta, _Expr, _E, _Sequential) ->
{local, Fun, Arity};
handle_capture({remote, Receiver, Fun, Arity}, Meta, _Expr, E, _Sequential) ->
+ if
+ is_atom(Receiver) ->
+ elixir_lexical:record_remote(Receiver, Fun, Arity, ?m(E, function), ?line(Meta), ?m(E, lexical_tracker));
+ true ->
+ ok
+ end,
Tree = {{'.', [], [erlang, make_fun]}, Meta, [Receiver, Fun, Arity]},
{expanded, Tree, E};
handle_capture(false, Meta, Expr, E, Sequential) ->