Skip to content

Commit a282f82

Browse files
committed
Merge branch 'impl-true'
2 parents 27bff0d + b51607f commit a282f82

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

lib/credo/check/readability/impl_true.ex

+7-12
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,20 @@ defmodule Credo.Check.Readability.ImplTrue do
2424
"""
2525
]
2626

27-
alias Credo.Code.Heredocs
28-
2927
@doc false
3028
@impl true
3129
def run(%SourceFile{} = source_file, params) do
3230
issue_meta = IssueMeta.for(source_file, params)
3331

34-
source_file
35-
|> Heredocs.replace_with_spaces()
36-
|> String.split("\n")
37-
|> Enum.with_index(1)
38-
|> Enum.reduce([], &check_line(&1, &2, issue_meta))
32+
Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
33+
end
34+
35+
defp traverse({:@, meta, [{:impl, _, [true]}]}, issues, issue_meta) do
36+
{nil, issues ++ [issue_for(issue_meta, meta[:line])]}
3937
end
4038

41-
defp check_line({line, line_number}, issues, issue_meta) do
42-
case String.trim(line) do
43-
"@impl true" -> [issue_for(issue_meta, line_number) | issues]
44-
_ -> issues
45-
end
39+
defp traverse(ast, issues, _issue_meta) do
40+
{ast, issues}
4641
end
4742

4843
defp issue_for(issue_meta, line_no) do

0 commit comments

Comments
 (0)