Skip to content

Commit b3fcd72

Browse files
committed
fix: handling __MODULE__ while expanding aliases
1 parent 9b2eda3 commit b3fcd72

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

lib/refactorex/refactor/alias.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ defmodule Refactorex.Refactor.Alias do
6060
%{node: {{:., _, [{:__aliases__, _, aliases}, _]}, _, _}} ->
6161
expand_declaration(Z.up(zipper), aliases ++ path)
6262

63+
%{node: {{:., _, [{:__MODULE__, _, _}, :{}]}, _, _}} ->
64+
[:__MODULE__ | path]
65+
6366
%{node: {:alias, _, [{:__aliases__, _, aliases} | _]}} ->
6467
aliases ++ (path -- aliases)
6568

test/refactor/alias/expand_aliases_test.exs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,29 @@ defmodule Refactorex.Refactor.Alias.ExpandAliasesTest do
135135
)
136136
end
137137

138+
test "expands __MODULE__ aliases" do
139+
assert_refactored(
140+
ExpandAliases,
141+
"""
142+
defmodule Foo do
143+
# v
144+
alias __MODULE__.{
145+
Alpha,
146+
Delta.{Bar, Test}
147+
}
148+
# ^
149+
end
150+
""",
151+
"""
152+
defmodule Foo do
153+
alias __MODULE__.Alpha
154+
alias __MODULE__.Delta.Bar
155+
alias __MODULE__.Delta.Test
156+
end
157+
"""
158+
)
159+
end
160+
138161
test "ignores outside module" do
139162
assert_ignored(
140163
ExpandAliases,

0 commit comments

Comments
 (0)