fix: don't warn on Macro.Env.expand_alias/3 not being defined
Some checks are pending
CI / ash-ci (push) Waiting to run

closes #73
This commit is contained in:
Zach Daniel 2024-08-04 23:33:06 -04:00
parent 853f27532c
commit 810c42160a

View file

@ -707,7 +707,7 @@ defmodule Igniter.Code.Common do
{:__aliases__, _, parts} ->
case current_env(zipper) do
{:ok, env} ->
case Macro.Env.expand_alias(env, [], parts) do
case do_expand_alias(env, [], parts) do
{:alias, value} ->
Zipper.replace(zipper, {:__aliases__, [], Module.split(value)})
@ -727,6 +727,16 @@ defmodule Igniter.Code.Common do
zipper
end
if Code.ensure_loaded?(Macro.Env) && function_exported?(Macro.Env, :expand_alias, 3) do
defp do_expand_alias(env, meta, parts) do
Macro.Env.expand_alias(env, meta, parts)
end
else
defp do_expand_alias(env, _, _) do
:error
end
end
@spec expand_aliases(Zipper.t()) :: Zipper.t()
def expand_aliases(zipper) do
Zipper.traverse(zipper, &expand_alias/1)