@@ -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