@@ -380,6 +380,7 @@ import_meta(Meta, Name, Arity, Q, E) ->
380
380
case (keyfind (imports , Meta ) == false ) andalso
381
381
elixir_dispatch :find_imports (Meta , Name , E ) of
382
382
[_ | _ ] = Imports ->
383
+ trace_import_quoted (Imports , Meta , Name , E ),
383
384
keystore (imports , keystore (context , Meta , Q # elixir_quote .context ), Imports );
384
385
385
386
_ ->
@@ -389,6 +390,20 @@ import_meta(Meta, Name, Arity, Q, E) ->
389
390
end
390
391
end .
391
392
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
+
392
407
% % do_quote_*
393
408
394
409
do_quote_call (Left , Meta , Expr , Args , Q ) ->
0 commit comments