Skip to content

Commit c3763c1

Browse files
committed
fix references crash on nil column
1 parent d98dbb5 commit c3763c1

File tree

6 files changed

+8
-1
lines changed

6 files changed

+8
-1
lines changed

apps/language_server/lib/language_server/providers/code_action/replace_remote_function.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ defmodule ElixirLS.LanguageServer.Providers.CodeAction.ReplaceRemoteFunction do
157157

158158
@spec expand_alias(SourceFile.t(), [atom()], non_neg_integer()) :: {:ok, atom()} | :error
159159
defp expand_alias(source_file, module_alias, line_number) do
160+
# TODO use Macro.Env
160161
with {:ok, aliases} <- aliases_at(source_file, line_number) do
161162
aliases
162163
|> Enum.map(fn {module, aliased} ->

apps/language_server/lib/language_server/providers/completion/reducers/struct.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion.Reducers.Struct do
8383
case {type, elixir_prefix} do
8484
{{:atom, mod}, false} ->
8585
# which_struct returns not expanded aliases
86+
# TODO use Macro.Env
8687
{:atom, Introspection.expand_alias(mod, aliases)}
8788

8889
_ ->

apps/language_server/lib/language_server/providers/completion/reducers/type_specs.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion.Reducers.TypeSpecs do
6969

7070
defp expand({{:attribute, _} = type, hint}, env, aliases) do
7171
# TODO Binding should return expanded aliases
72+
# TODO use Macro.Env
7273
case Binding.expand(env, type) do
7374
{:atom, module} -> {Introspection.expand_alias(module, aliases), hint}
7475
_ -> {nil, ""}
@@ -77,6 +78,7 @@ defmodule ElixirLS.LanguageServer.Providers.Completion.Reducers.TypeSpecs do
7778

7879
defp expand({{:variable, _, _} = type, hint}, env, aliases) do
7980
# TODO Binding should return expanded aliases
81+
# TODO use Macro.Env
8082
case Binding.expand(env, type) do
8183
{:atom, module} -> {Introspection.expand_alias(module, aliases), hint}
8284
_ -> {nil, ""}

apps/language_server/lib/language_server/providers/hover/docs.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,7 @@ defmodule ElixirLS.LanguageServer.Providers.Hover.Docs do
657657
end
658658

659659
def expand({{:atom, module}, func}, aliases) do
660+
# TODO use Macro.Env
660661
{Introspection.expand_alias(module, aliases), func}
661662
end
662663

apps/language_server/lib/language_server/providers/implementation/locator.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ defmodule ElixirLS.LanguageServer.Providers.Implementation.Locator do
7777
module =
7878
case Binding.expand(binding_env, module_type) do
7979
{:atom, module} ->
80+
# TODO use Macro.Env
8081
Introspection.expand_alias(module, env.aliases)
8182

8283
_ ->

apps/language_server/lib/language_server/providers/references/locator.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ defmodule ElixirLS.LanguageServer.Providers.References.Locator do
269269
uri: nil,
270270
range: %{
271271
start: %{line: line, column: column},
272-
end: %{line: line, column: column + String.length(subject)}
272+
end: %{line: line, column: if(column != nil, do: column + String.length(subject))}
273273
}
274274
}
275275
end
@@ -279,6 +279,7 @@ defmodule ElixirLS.LanguageServer.Providers.References.Locator do
279279

280280
defp expand({type, func}, env, _module, aliases) do
281281
case Binding.expand(env, type) do
282+
# TODO use Macro.Env
282283
{:atom, module} -> {Introspection.expand_alias(module, aliases), func}
283284
_ -> {nil, nil}
284285
end

0 commit comments

Comments
 (0)