Skip to content

Commit 8a03218

Browse files
authored
Merge pull request #1149 from jisaacstone/master
Change to not warn on calls to IO.inspect/3
2 parents 5af2172 + c1fd419 commit 8a03218

File tree

2 files changed

+19
-5
lines changed

2 files changed

+19
-5
lines changed

lib/credo/check/warning/io_inspect.ex

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,24 @@ defmodule Credo.Check.Warning.IoInspect do
1616
@impl true
1717
def run(%SourceFile{} = source_file, params) do
1818
issue_meta = IssueMeta.for(source_file, params)
19-
2019
Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
2120
end
2221

2322
defp traverse(
24-
{{:., _, [{:__aliases__, meta, [:"Elixir", :IO]}, :inspect]}, _, _arguments} = ast,
23+
{{:., _, [{:__aliases__, meta, [:"Elixir", :IO]}, :inspect]}, _, args} = ast,
2524
issues,
2625
issue_meta
27-
) do
26+
)
27+
when length(args) < 3 do
2828
{ast, issues_for_call(meta, "Elixir.IO.inspect", issues, issue_meta)}
2929
end
3030

3131
defp traverse(
32-
{{:., _, [{:__aliases__, meta, [:IO]}, :inspect]}, _meta, _arguments} = ast,
32+
{{:., _, [{:__aliases__, meta, [:IO]}, :inspect]}, _, args} = ast,
3333
issues,
3434
issue_meta
35-
) do
35+
)
36+
when length(args) < 3 do
3637
{ast, issues_for_call(meta, "IO.inspect", issues, issue_meta)}
3738
end
3839

test/credo/check/warning/io_inspect_test.exs

+13
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ defmodule Credo.Check.Warning.IoInspectTest do
2020
|> refute_issues()
2121
end
2222

23+
test "it should NOT report Inspect/3" do
24+
"""
25+
defmodule CredoSampleModule do
26+
def some_function(parameter1) do
27+
IO.inspect(:stderr, parameter1, [])
28+
end
29+
end
30+
"""
31+
|> to_source_file
32+
|> run_check(@described_check)
33+
|> refute_issues()
34+
end
35+
2336
#
2437
# cases raising issues
2538
#

0 commit comments

Comments
 (0)