Skip to content

Commit e415148

Browse files
author
José Valim
committed
More explicitly use the term annotation throughout
1 parent 9d95a0b commit e415148

File tree

1 file changed

+47
-47
lines changed

1 file changed

+47
-47
lines changed

lib/elixir/src/elixir_def.erl

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -219,21 +219,21 @@ unwrap_definitions(File, Module) ->
219219
split_definition(All, Unreachable, [], [], [], [], [], {[], []}).
220220

221221
unwrap_definition([Fun|T], File, Module, CTable, All, Private) ->
222-
{Tuple, Kind, Line, _, Check, Location, {Defaults, _, _}} = Fun,
222+
{Tuple, Kind, Ann, _, Check, Location, {Defaults, _, _}} = Fun,
223223
Export = export(Kind, Tuple),
224224

225225
case [Clause || {_, Clause} <- ets:lookup(CTable, Tuple)] of
226226
[] ->
227-
warn_bodyless_function(Line, File, Module, Kind, Tuple),
227+
warn_bodyless_function(Ann, File, Module, Kind, Tuple),
228228
unwrap_definition(T, File, Module, CTable, All, Private);
229229
Clauses ->
230-
Unwrapped = {Tuple, Kind, Line, Location,
231-
function_for_stored_definition(Line, Export, Clauses)},
230+
Unwrapped = {Tuple, Kind, Ann, Location,
231+
function_for_stored_definition(Ann, Export, Clauses)},
232232

233233
NewPrivate =
234234
if
235235
Kind == defp; Kind == defmacrop ->
236-
[{Tuple, Kind, Line, Check, Defaults}|Private];
236+
[{Tuple, Kind, Ann, Check, Defaults}|Private];
237237
true ->
238238
Private
239239
end,
@@ -244,30 +244,30 @@ unwrap_definition([Fun|T], File, Module, CTable, All, Private) ->
244244
unwrap_definition([], _File, _Module, _CTable, All, Private) ->
245245
{All, Private}.
246246

247-
split_definition([{Tuple, def, Line, Location, Body}|T], Unreachable,
247+
split_definition([{Tuple, def, Ann, Location, Body}|T], Unreachable,
248248
Def, Defp, Defmacro, Defmacrop, Exports, Functions) ->
249249
split_definition(T, Unreachable, [Tuple|Def], Defp, Defmacro, Defmacrop,
250250
[export(def, Tuple)|Exports],
251-
add_definition(Line, Location, Body, Functions));
251+
add_definition(Ann, Location, Body, Functions));
252252

253-
split_definition([{Tuple, defp, Line, Location, Body}|T], Unreachable,
253+
split_definition([{Tuple, defp, Ann, Location, Body}|T], Unreachable,
254254
Def, Defp, Defmacro, Defmacrop, Exports, Functions) ->
255255
case lists:member(Tuple, Unreachable) of
256256
false ->
257257
split_definition(T, Unreachable, Def, [Tuple|Defp], Defmacro, Defmacrop,
258-
Exports, add_definition(Line, Location, Body, Functions));
258+
Exports, add_definition(Ann, Location, Body, Functions));
259259
true ->
260260
split_definition(T, Unreachable, Def, [Tuple|Defp], Defmacro, Defmacrop,
261261
Exports, Functions)
262262
end;
263263

264-
split_definition([{Tuple, defmacro, Line, Location, Body}|T], Unreachable,
264+
split_definition([{Tuple, defmacro, Ann, Location, Body}|T], Unreachable,
265265
Def, Defp, Defmacro, Defmacrop, Exports, Functions) ->
266266
split_definition(T, Unreachable, Def, Defp, [Tuple|Defmacro], Defmacrop,
267267
[export(defmacro, Tuple)|Exports],
268-
add_definition(Line, Location, Body, Functions));
268+
add_definition(Ann, Location, Body, Functions));
269269

270-
split_definition([{Tuple, defmacrop, _Line, _Location, _Body}|T], Unreachable,
270+
split_definition([{Tuple, defmacrop, _Ann, _Location, _Body}|T], Unreachable,
271271
Def, Defp, Defmacro, Defmacrop, Exports, Functions) ->
272272
split_definition(T, Unreachable, Def, Defp, Defmacro, [Tuple|Defmacrop],
273273
Exports, Functions);
@@ -282,33 +282,33 @@ export(Kind, {Name, Arity}) when Kind == defmacro; Kind == defmacrop ->
282282
export(Kind, {Name, Arity}) when Kind == def; Kind == defp ->
283283
{Name, Arity}.
284284

285-
function_for_stored_definition(Line, {Name, Arity}, Clauses) ->
286-
{function, Line, Name, Arity, Clauses}.
285+
function_for_stored_definition(Ann, {Name, Arity}, Clauses) ->
286+
{function, Ann, Name, Arity, Clauses}.
287287

288-
add_definition(_Line, nil, Body, {Head, Tail}) ->
288+
add_definition(_Ann, nil, Body, {Head, Tail}) ->
289289
{[Body|Head], Tail};
290-
add_definition(Line, Location, Body, {Head, Tail}) ->
290+
add_definition(Ann, Location, Body, {Head, Tail}) ->
291291
{Head,
292-
[{attribute, Line, file, Location}, Body|Tail]}.
292+
[{attribute, Ann, file, Location}, Body|Tail]}.
293293

294-
default_function_for(Kind, Name, {clause, Line, Args, _Guards, _Exprs} = Clause)
294+
default_function_for(Kind, Name, {clause, Ann, Args, _Guards, _Exprs} = Clause)
295295
when Kind == defmacro; Kind == defmacrop ->
296-
{function, Line, Name, length(Args) - 1, [Clause]};
297-
default_function_for(_, Name, {clause, Line, Args, _Guards, _Exprs} = Clause) ->
298-
{function, Line, Name, length(Args), [Clause]}.
296+
{function, Ann, Name, length(Args) - 1, [Clause]};
297+
default_function_for(_, Name, {clause, Ann, Args, _Guards, _Exprs} = Clause) ->
298+
{function, Ann, Name, length(Args), [Clause]}.
299299

300-
warn_bodyless_function(_Line, _File, Special, _Kind, _Tuple)
300+
warn_bodyless_function(_Ann, _File, Special, _Kind, _Tuple)
301301
when Special == 'Elixir.Kernel.SpecialForms'; Special == 'Elixir.Module' ->
302302
ok;
303-
warn_bodyless_function(Line, File, _Module, Kind, Tuple) ->
304-
elixir_errors:form_warn([{line, Line}], File, ?MODULE, {bodyless_fun, Kind, Tuple}),
303+
warn_bodyless_function(Ann, File, _Module, Kind, Tuple) ->
304+
elixir_errors:form_warn([{line, erl_anno:line(Ann)}], File, ?MODULE, {bodyless_fun, Kind, Tuple}),
305305
ok.
306306

307307
%% Store each definition in the table.
308308
%% This function also checks and emit warnings in case
309309
%% the kind, of the visibility of the function changes.
310310

311-
store_each(Check, Kind, File, Location, Module, Defaults, {function, Line, Name, Arity, Clauses}) ->
311+
store_each(Check, Kind, File, Location, Module, Defaults, {function, Ann, Name, Arity, Clauses}) ->
312312
Data = elixir_module:data_table(Module),
313313
Defs = elixir_module:defs_table(Module),
314314
Clas = elixir_module:clas_table(Module),
@@ -317,60 +317,60 @@ store_each(Check, Kind, File, Location, Module, Defaults, {function, Line, Name,
317317
HasBody = Clauses =/= [],
318318

319319
case ets:lookup(Defs, Tuple) of
320-
[{Tuple, StoredKind, StoredLine, StoredFile, StoredCheck,
320+
[{Tuple, StoredKind, StoredAnn, StoredFile, StoredCheck,
321321
StoredLocation, {StoredDefaults, LastHasBody, LastDefaults}}] ->
322-
FinalLine = StoredLine,
322+
FinalAnn = StoredAnn,
323323
FinalLocation = StoredLocation,
324324
FinalDefaults = {max(Defaults, StoredDefaults), HasBody, Defaults},
325-
check_valid_kind(Line, File, Name, Arity, Kind, StoredKind),
325+
check_valid_kind(Ann, File, Name, Arity, Kind, StoredKind),
326326
(Check and StoredCheck) andalso
327-
check_valid_clause(Line, File, Name, Arity, Kind, Data, StoredLine, StoredFile),
328-
check_valid_defaults(Line, File, Name, Arity, Kind, Defaults, StoredDefaults, LastDefaults, LastHasBody);
327+
check_valid_clause(Ann, File, Name, Arity, Kind, Data, StoredAnn, StoredFile),
328+
check_valid_defaults(Ann, File, Name, Arity, Kind, Defaults, StoredDefaults, LastDefaults, LastHasBody);
329329
[] ->
330-
FinalLine = Line,
330+
FinalAnn = Ann,
331331
FinalLocation = Location,
332332
FinalDefaults = {Defaults, HasBody, Defaults}
333333
end,
334334

335335
Check andalso ets:insert(Data, {?last_def, {Name, Arity}}),
336336
ets:insert(Clas, [{Tuple, Clause} || Clause <- Clauses]),
337-
ets:insert(Defs, {Tuple, Kind, FinalLine, File, Check, FinalLocation, FinalDefaults}).
337+
ets:insert(Defs, {Tuple, Kind, FinalAnn, File, Check, FinalLocation, FinalDefaults}).
338338

339339
%% Validations
340340

341-
check_valid_kind(_Line, _File, _Name, _Arity, Kind, Kind) -> [];
342-
check_valid_kind(Line, File, Name, Arity, Kind, StoredKind) ->
343-
elixir_errors:form_error([{line, Line}], File, ?MODULE,
341+
check_valid_kind(_Ann, _File, _Name, _Arity, Kind, Kind) -> [];
342+
check_valid_kind(Ann, File, Name, Arity, Kind, StoredKind) ->
343+
elixir_errors:form_error([{line, erl_anno:line(Ann)}], File, ?MODULE,
344344
{changed_kind, {Name, Arity, StoredKind, Kind}}).
345345

346-
check_valid_clause(Line, File, Name, Arity, Kind, Data, StoredLine, StoredFile) ->
346+
check_valid_clause(Ann, File, Name, Arity, Kind, Data, StoredAnn, StoredFile) ->
347347
case ets:lookup_element(Data, ?last_def, 2) of
348348
{Name, Arity} -> [];
349349
[] -> [];
350350
_ ->
351351
Relative = elixir_utils:relative_to_cwd(elixir_utils:relative_to_cwd(StoredFile)),
352-
elixir_errors:form_warn([{line, Line}], File, ?MODULE,
353-
{ungrouped_clause, {Kind, Name, Arity, StoredLine, Relative}})
352+
elixir_errors:form_warn([{line, erl_anno:line(Ann)}], File, ?MODULE,
353+
{ungrouped_clause, {Kind, Name, Arity, erl_anno:line(StoredAnn), Relative}})
354354
end.
355355

356356
% Clause with defaults after clause with defaults
357-
check_valid_defaults(Line, File, Name, Arity, Kind, Defaults, StoredDefaults, _, _) when Defaults > 0, StoredDefaults > 0 ->
358-
elixir_errors:form_error([{line, Line}], File, ?MODULE,
357+
check_valid_defaults(Ann, File, Name, Arity, Kind, Defaults, StoredDefaults, _, _) when Defaults > 0, StoredDefaults > 0 ->
358+
elixir_errors:form_error([{line, erl_anno:line(Ann)}], File, ?MODULE,
359359
{clauses_with_defaults, {Kind, Name, Arity}});
360360
% Clause with defaults after clause(s) without defaults
361-
check_valid_defaults(Line, File, Name, Arity, Kind, Defaults, 0, 0, _) when Defaults > 0 ->
362-
elixir_errors:form_warn([{line, Line}], File, ?MODULE, {out_of_order_defaults, {Kind, Name, Arity}});
361+
check_valid_defaults(Ann, File, Name, Arity, Kind, Defaults, 0, 0, _) when Defaults > 0 ->
362+
elixir_errors:form_warn([{line, erl_anno:line(Ann)}], File, ?MODULE, {out_of_order_defaults, {Kind, Name, Arity}});
363363
% Clause without defaults directly after clause with defaults (body less does not count)
364-
check_valid_defaults(Line, File, Name, Arity, Kind, 0, _, LastDefaults, true) when LastDefaults > 0 ->
365-
elixir_errors:form_warn([{line, Line}], File, ?MODULE,
364+
check_valid_defaults(Ann, File, Name, Arity, Kind, 0, _, LastDefaults, true) when LastDefaults > 0 ->
365+
elixir_errors:form_warn([{line, erl_anno:line(Ann)}], File, ?MODULE,
366366
{out_of_order_defaults, {Kind, Name, Arity}});
367367
% Clause without defaults
368-
check_valid_defaults(_Line, _File, _Name, _Arity, _Kind, 0, _, _, _) -> [].
368+
check_valid_defaults(_Ann, _File, _Name, _Arity, _Kind, 0, _, _, _) -> [].
369369

370-
check_previous_defaults(Line, Module, Name, Arity, Kind, Defaults, E) ->
370+
check_previous_defaults(Ann, Module, Name, Arity, Kind, Defaults, E) ->
371371
Matches = ets:match(elixir_module:defs_table(Module), {{Name, '$2'}, '$1', '_', '_', '_', '_', {'$3', '_', '_'}}),
372372
[ begin
373-
elixir_errors:form_error([{line, Line}], ?m(E, file), ?MODULE,
373+
elixir_errors:form_error([{line, erl_anno:line(Ann)}], ?m(E, file), ?MODULE,
374374
{defs_with_defaults, Name, {Kind, Arity}, {K, A}})
375375
end || [K, A, D] <- Matches, A /= Arity, D /= 0, defaults_conflict(A, D, Arity, Defaults)].
376376

0 commit comments

Comments
 (0)