@@ -24,11 +24,11 @@ find_import(Meta, Name, Arity, S) ->
2424
2525 case find_dispatch (Meta , Tuple , S ) of
2626 { function , Receiver } ->
27- elixir_lexical :record_import (S # elixir_scope .file , Receiver ),
27+ elixir_lexical :record_import (Receiver , S # elixir_scope .lexical_tracker ),
2828 elixir_tracker :record_import (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
2929 Receiver ;
3030 { macro , Receiver } ->
31- elixir_lexical :record_import (S # elixir_scope .file , Receiver ),
31+ elixir_lexical :record_import (Receiver , S # elixir_scope .lexical_tracker ),
3232 elixir_tracker :record_import (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
3333 Receiver ;
3434 _ ->
@@ -41,7 +41,7 @@ import_function(Meta, Name, Arity, S) ->
4141 Tuple = { Name , Arity },
4242 case find_dispatch (Meta , Tuple , S ) of
4343 { function , Receiver } ->
44- elixir_lexical :record_import (S # elixir_scope .file , Receiver ),
44+ elixir_lexical :record_import (Receiver , S # elixir_scope .lexical_tracker ),
4545 elixir_tracker :record_import (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
4646 remote_function (Meta , Receiver , Name , Arity , S );
4747 { macro , _Receiver } ->
@@ -63,7 +63,7 @@ require_function(Meta, Receiver, Name, Arity, S) ->
6363 case is_element (Tuple , get_optional_macros (Receiver )) of
6464 true -> false ;
6565 false ->
66- elixir_lexical :record_remote (S # elixir_scope .file , Receiver ),
66+ elixir_lexical :record_remote (Receiver , S # elixir_scope .lexical_tracker ),
6767 elixir_tracker :record_remote (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
6868 remote_function (Meta , Receiver , Name , Arity , S )
6969 end .
@@ -77,23 +77,23 @@ dispatch_import(Meta, Name, Args, S, Callback) ->
7777
7878 case find_dispatch (Meta , Tuple , S ) of
7979 { function , Receiver } ->
80- elixir_lexical :record_import (S # elixir_scope .file , Receiver ),
80+ elixir_lexical :record_import (Receiver , S # elixir_scope .lexical_tracker ),
8181 elixir_tracker :record_import (Tuple , Receiver , Module , S # elixir_scope .function ),
8282 Endpoint = case (Receiver == ? builtin ) andalso is_element (Tuple , in_erlang_functions ()) of
8383 true -> erlang ;
8484 false -> Receiver
8585 end ,
8686 elixir_translator :translate_each ({ { '.' , Meta , [Endpoint , Name ] }, Meta , Args }, S );
8787 { import , Receiver } ->
88- elixir_lexical :record_remote (S # elixir_scope .file , Receiver ),
88+ elixir_lexical :record_remote (Receiver , S # elixir_scope .lexical_tracker ),
8989 elixir_tracker :record_remote (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
9090 elixir_translator :translate_each ({ { '.' , Meta , [Receiver , Name ] }, [{require ,false }|Meta ], Args }, S );
9191 Result ->
9292 case do_expand_import (Meta , Tuple , Args , Module , S , Result ) of
9393 { error , noexpansion } ->
9494 Callback ();
9595 { error , internal } ->
96- elixir_lexical :record_import (S # elixir_scope .file , ? builtin ),
96+ elixir_lexical :record_import (? builtin , S # elixir_scope .lexical_tracker ),
9797 elixir_tracker :record_import (Tuple , ? builtin , Module , S # elixir_scope .function ),
9898 elixir_macros :translate ({ Name , Meta , Args }, S );
9999 { ok , Receiver , Tree } ->
@@ -108,7 +108,7 @@ dispatch_require(Meta, Receiver, Name, Args, S, Callback) ->
108108
109109 case (Receiver == ? builtin ) andalso is_element (Tuple , in_erlang_functions ()) of
110110 true ->
111- elixir_lexical :record_remote (S # elixir_scope .file , Receiver ),
111+ elixir_lexical :record_remote (Receiver , S # elixir_scope .lexical_tracker ),
112112 elixir_tracker :record_remote (Tuple , Receiver , S # elixir_scope .module , S # elixir_scope .function ),
113113 { TArgs , SA } = elixir_translator :translate_args (Args , S ),
114114 { ? wrap_call (? line (Meta ), erlang , Name , TArgs ), SA };
@@ -117,7 +117,7 @@ dispatch_require(Meta, Receiver, Name, Args, S, Callback) ->
117117 { error , noexpansion } ->
118118 Callback ();
119119 { error , internal } ->
120- elixir_lexical :record_remote (S # elixir_scope .file , ? builtin ),
120+ elixir_lexical :record_remote (? builtin , S # elixir_scope .lexical_tracker ),
121121 elixir_tracker :record_remote (Tuple , ? builtin , S # elixir_scope .module , S # elixir_scope .function ),
122122 elixir_macros :translate ({ Name , Meta , Args }, S );
123123 { ok , Receiver , Tree } ->
@@ -159,12 +159,12 @@ do_expand_import_no_local(Meta, { Name, Arity } = Tuple, Args, Module, S, Result
159159 case is_element (Tuple , in_erlang_macros ()) of
160160 true -> { error , internal };
161161 false ->
162- elixir_lexical :record_import (S # elixir_scope .file , ? builtin ),
162+ elixir_lexical :record_import (? builtin , S # elixir_scope .lexical_tracker ),
163163 elixir_tracker :record_import (Tuple , ? builtin , Module , S # elixir_scope .function ),
164164 { ok , ? builtin , expand_macro_named (Meta , ? builtin , Name , Arity , Args , Module , S ) }
165165 end ;
166166 { macro , Receiver } ->
167- elixir_lexical :record_import (S # elixir_scope .file , Receiver ),
167+ elixir_lexical :record_import (Receiver , S # elixir_scope .lexical_tracker ),
168168 elixir_tracker :record_import (Tuple , Receiver , Module , S # elixir_scope .function ),
169169 { ok , Receiver , expand_macro_named (Meta , Receiver , Name , Arity , Args , Module , S ) };
170170 { import , Receiver } ->
@@ -179,7 +179,7 @@ expand_require(Meta, ?builtin, { Name, Arity } = Tuple, Args, Module, S) ->
179179 false ->
180180 case is_element (Tuple , in_elixir_macros ()) of
181181 true ->
182- elixir_lexical :record_remote (S # elixir_scope .file , ? builtin ),
182+ elixir_lexical :record_remote (? builtin , S # elixir_scope .lexical_tracker ),
183183 elixir_tracker :record_remote (Tuple , ? builtin , S # elixir_scope .module , S # elixir_scope .function ),
184184 { ok , ? builtin , expand_macro_named (Meta , ? builtin , Name , Arity , Args , Module , S ) };
185185 false ->
@@ -197,7 +197,7 @@ expand_require(Meta, Receiver, { Name, Arity } = Tuple, Args, Module, S) ->
197197 false ->
198198 case is_element (Tuple , get_optional_macros (Receiver )) of
199199 true ->
200- elixir_lexical :record_remote (S # elixir_scope .file , Receiver ),
200+ elixir_lexical :record_remote (Receiver , S # elixir_scope .lexical_tracker ),
201201 elixir_tracker :record_remote (Tuple , Receiver , Module , Function ),
202202 { ok , Receiver , expand_macro_named (Meta , Receiver , Name , Arity , Args , Module , S ) };
203203 false -> { error , noexpansion }
0 commit comments