From 90b83e8a3df340b1dd9521195b559a278bc21368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20F=C3=B6hring?= Date: Thu, 2 May 2024 22:05:42 +0200 Subject: [PATCH] Don't emit warnings for parsed code At least on newer versions of Elixir --- lib/credo/code.ex | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/credo/code.ex b/lib/credo/code.ex index 8a73f8de2..294439383 100644 --- a/lib/credo/code.ex +++ b/lib/credo/code.ex @@ -74,18 +74,24 @@ defmodule Credo.Code do @doc false def ast(source, filename \\ "nofilename") when is_binary(source) do - case Code.string_to_quoted(source, line: 1, columns: true, file: filename) do - {:ok, value} -> - {:ok, value} - - {:error, error} -> - {:error, [issue_for(error, filename)]} + case string_to_quoted(source, filename) do + {:ok, value} -> {:ok, value} + {:error, error} -> {:error, [issue_for(error, filename)]} end rescue e in UnicodeConversionError -> {:error, [issue_for({1, e.message, nil}, filename)]} end + defp string_to_quoted(source, filename) do + Code.string_to_quoted(source, + line: 1, + columns: true, + file: filename, + emit_warnings: false + ) + end + defp issue_for({line_no, error_message, _}, filename) do %Credo.Issue{ check: ParserError,