Skip to content

Commit

Permalink
add sanity checks in more places
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaszsamson committed Jan 1, 2024
1 parent 27013d3 commit c60fd9e
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 9 deletions.
1 change: 1 addition & 0 deletions apps/language_server/lib/language_server/dialyzer.ex
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ defmodule ElixirLS.LanguageServer.Dialyzer do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ defmodule ElixirLS.LanguageServer.ExUnitTestTracer do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ defmodule ElixirLS.LanguageServer.MixProjectCache do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down
2 changes: 1 addition & 1 deletion apps/language_server/lib/language_server/parser.ex
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,8 @@ defmodule ElixirLS.LanguageServer.Parser do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
"lsp_server_error",
%{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ defmodule ElixirLS.LanguageServer.Providers.WorkspaceSymbols do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down
17 changes: 9 additions & 8 deletions apps/language_server/lib/language_server/server.ex
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ defmodule ElixirLS.LanguageServer.Server do
end

@impl GenServer
def terminate(reason, _state) do
def terminate(reason, state) do
case reason do
:normal ->
:ok
Expand All @@ -168,6 +168,7 @@ defmodule ElixirLS.LanguageServer.Server do
:ok

_other ->
do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down Expand Up @@ -207,7 +208,7 @@ defmodule ElixirLS.LanguageServer.Server do
{:error, type, msg, send_telemetry} ->
JsonRpc.respond_with_error(id, type, msg)

do_sanity_check(state)
do_sanity_check()

if send_telemetry do
JsonRpc.telemetry(
Expand Down Expand Up @@ -419,7 +420,7 @@ defmodule ElixirLS.LanguageServer.Server do
error_msg = Exception.format_exit(reason)
JsonRpc.respond_with_error(id, :internal_error, error_msg)

do_sanity_check(state)
do_sanity_check()

JsonRpc.telemetry(
"lsp_request_error",
Expand Down Expand Up @@ -780,7 +781,7 @@ defmodule ElixirLS.LanguageServer.Server do
"retry" => false
})

do_sanity_check(state)
do_sanity_check()

JsonRpc.telemetry(
"lsp_request_error",
Expand Down Expand Up @@ -847,7 +848,7 @@ defmodule ElixirLS.LanguageServer.Server do
{:error, type, msg, send_telemetry, state} ->
JsonRpc.respond_with_error(id, type, msg)

do_sanity_check(state)
do_sanity_check()

if send_telemetry do
JsonRpc.telemetry(
Expand Down Expand Up @@ -893,7 +894,7 @@ defmodule ElixirLS.LanguageServer.Server do
error_msg = Exception.format(kind, payload, stacktrace)
JsonRpc.respond_with_error(id, :internal_error, error_msg)

do_sanity_check(state)
do_sanity_check()

JsonRpc.telemetry(
"lsp_request_error",
Expand Down Expand Up @@ -1481,7 +1482,7 @@ defmodule ElixirLS.LanguageServer.Server do
end

defp handle_build_result(status, diagnostics, state = %__MODULE__{}) do
do_sanity_check(state)
do_sanity_check()

state =
if state.needs_build? or status == :error or not dialyzer_enabled?(state) do
Expand Down Expand Up @@ -2243,7 +2244,7 @@ defmodule ElixirLS.LanguageServer.Server do
end
end

defp do_sanity_check(_state) do
def do_sanity_check() do
try do
unless :persistent_term.get(:language_server_test_mode, false) do
unless function_exported?(ElixirSense, :module_info, 1) and
Expand Down
1 change: 1 addition & 0 deletions apps/language_server/lib/language_server/tracer.ex
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ defmodule ElixirLS.LanguageServer.Tracer do
:ok

_other ->
ElixirLS.LanguageServer.Server.do_sanity_check()
message = Exception.format_exit(reason)

JsonRpc.telemetry(
Expand Down

0 comments on commit c60fd9e

Please sign in to comment.