Skip to content

Commit 35d7046

Browse files
committed
Move imported_quoted event to elixir_quote module
1 parent 3ca7aae commit 35d7046

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

lib/elixir/src/elixir_dispatch.erl

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,7 @@ find_imports(Meta, Name, E) ->
4646
Acc1 = find_imports_by_name(Funs, Acc0, Name, Meta, E),
4747
Acc2 = find_imports_by_name(Macs, Acc1, Name, Meta, E),
4848

49-
Imports = lists:sort(maps:to_list(Acc2)),
50-
trace_import_quoted(Imports, Meta, Name, E),
51-
Imports.
52-
53-
trace_import_quoted([{Arity, Mod} | Imports], Meta, Name, E) ->
54-
{Rest, Arities} = collect_trace_import_quoted(Imports, Mod, [], [Arity]),
55-
elixir_env:trace({imported_quoted, Meta, Mod, Name, Arities}, E),
56-
trace_import_quoted(Rest, Meta, Name, E);
57-
trace_import_quoted([], _Meta, _Name, _E) ->
58-
ok.
59-
60-
collect_trace_import_quoted([{Arity, Mod} | Imports], Mod, Acc, Arities) ->
61-
collect_trace_import_quoted(Imports, Mod, Acc, [Arity | Arities]);
62-
collect_trace_import_quoted([Import | Imports], Mod, Acc, Arities) ->
63-
collect_trace_import_quoted(Imports, Mod, [Import | Acc], Arities);
64-
collect_trace_import_quoted([], _Mod, Acc, Arities) ->
65-
{lists:reverse(Acc), lists:reverse(Arities)}.
49+
lists:sort(maps:to_list(Acc2)).
6650

6751
%% Function retrieval
6852

lib/elixir/src/elixir_quote.erl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ import_meta(Meta, Name, Arity, Q, E) ->
380380
case (keyfind(imports, Meta) == false) andalso
381381
elixir_dispatch:find_imports(Meta, Name, E) of
382382
[_ | _] = Imports ->
383+
trace_import_quoted(Imports, Meta, Name, E),
383384
keystore(imports, keystore(context, Meta, Q#elixir_quote.context), Imports);
384385

385386
_ ->
@@ -389,6 +390,20 @@ import_meta(Meta, Name, Arity, Q, E) ->
389390
end
390391
end.
391392

393+
trace_import_quoted([{Arity, Mod} | Imports], Meta, Name, E) ->
394+
{Rest, Arities} = collect_trace_import_quoted(Imports, Mod, [], [Arity]),
395+
elixir_env:trace({imported_quoted, Meta, Mod, Name, Arities}, E),
396+
trace_import_quoted(Rest, Meta, Name, E);
397+
trace_import_quoted([], _Meta, _Name, _E) ->
398+
ok.
399+
400+
collect_trace_import_quoted([{Arity, Mod} | Imports], Mod, Acc, Arities) ->
401+
collect_trace_import_quoted(Imports, Mod, Acc, [Arity | Arities]);
402+
collect_trace_import_quoted([Import | Imports], Mod, Acc, Arities) ->
403+
collect_trace_import_quoted(Imports, Mod, [Import | Acc], Arities);
404+
collect_trace_import_quoted([], _Mod, Acc, Arities) ->
405+
{lists:reverse(Acc), lists:reverse(Arities)}.
406+
392407
%% do_quote_*
393408

394409
do_quote_call(Left, Meta, Expr, Args, Q) ->

0 commit comments

Comments
 (0)