Skip to content

Commit 3d7a3ea

Browse files
committed
adapt to changed api on 1.18
1 parent b520524 commit 3d7a3ea

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

lib/elixir_sense/core/compiler/rewrite.ex

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,26 @@ defmodule ElixirSense.Core.Compiler.Rewrite do
1111

1212
defp do_rewrite(_, :erlang, _, :-, _, [arg], _s) when is_number(arg), do: {:ok, -arg}
1313

14-
defp do_rewrite(:match, receiver, dot_meta, right, meta, e_args, _s) do
15-
:elixir_rewrite.match_rewrite(receiver, dot_meta, right, meta, e_args)
14+
defp do_rewrite(:match, receiver, dot_meta, right, meta, e_args, s) do
15+
if function_exported?(:elixir_rewrite, :match_rewrite, 5) do
16+
:elixir_rewrite.match_rewrite(receiver, dot_meta, right, meta, e_args)
17+
else
18+
:elixir_rewrite.match(receiver, dot_meta, right, meta, e_args, s)
19+
end
1620
end
1721

1822
if Version.match?(System.version(), "< 1.14.0") do
1923
defp do_rewrite(:guard, receiver, dot_meta, right, meta, e_args, s) do
2024
:elixir_rewrite.guard_rewrite(receiver, dot_meta, right, meta, e_args)
2125
end
2226
else
23-
defp do_rewrite(:guard, receiver, dot_meta, right, meta, e_args, _s) do
24-
# elixir uses guard context for error messages
25-
:elixir_rewrite.guard_rewrite(receiver, dot_meta, right, meta, e_args, "guard")
27+
defp do_rewrite(:guard, receiver, dot_meta, right, meta, e_args, s) do
28+
if function_exported?(:elixir_rewrite, :match_rewrite, 5) do
29+
# elixir uses guard context for error messages
30+
:elixir_rewrite.guard_rewrite(receiver, dot_meta, right, meta, e_args, "guard")
31+
else
32+
:elixir_rewrite.guard(receiver, dot_meta, right, meta, e_args, s)
33+
end
2634
end
2735
end
2836

0 commit comments

Comments
 (0)