Skip to content

Commit ddbd864

Browse files
authored
Merge pull request #39 from esl/fix-generated-clauses
Fix handling generated clauses without a line
2 parents b47da5a + 43fb85e commit ddbd864

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

lib/gradient/ast_specifier.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ defmodule Gradient.AstSpecifier do
145145

146146
def mapper({:function, anno, name, arity, clauses}, tokens, opts) do
147147
# anno has line
148+
opts = Keyword.put(opts, :line, :erl_anno.line(anno))
148149
{clauses, tokens} = context_mapper_fold(clauses, tokens, opts)
149150

150151
{:function, anno, name, arity, clauses}

test/gradient/ast_specifier_test.exs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,6 +1368,19 @@ defmodule Gradient.AstSpecifierTest do
13681368
]}} = missing_type
13691369
end
13701370

1371+
test "clauses without a line" do
1372+
forms = [
1373+
{:function, 8, :__impl__, 1,
1374+
[
1375+
{:clause, [generated: true, location: 0],
1376+
[{:atom, [generated: true, location: 0], :for}], [],
1377+
[{:atom, [generated: true, location: 0], TypedSchemaTest}]}
1378+
]}
1379+
]
1380+
1381+
assert [_] = AstSpecifier.run_mappers(forms, [])
1382+
end
1383+
13711384
# Helpers
13721385

13731386
def filter_specs(ast) do

0 commit comments

Comments
 (0)