Skip to content

Commit c4b270c

Browse files
authored
Fix dialyzer invalid contract in special_token.ex (#647)
From dialyzer warning: ``` lib/language_server/providers/folding_range/special_token.ex:48:invalid_contract The @SPEC for the function does not match the success typing of the function. Function: ElixirLS.LanguageServer.Providers.FoldingRange.SpecialToken.provide_ranges/1 Success typing: @SPEC provide_ranges(%{:tokens => [{atom(), {_, _, _}, _}], _ => _}) :: {:ok, [ %{ :endLine => non_neg_integer(), :startLine => non_neg_integer(), :endCharacter? => non_neg_integer(), :kind? => :comment | :imports | :region, :startCharacter? => non_neg_integer() } ]} ``` It's happens because the typespec function declare that it accepts the list of folding range, but in the real usage, it accepts just one folding range.
1 parent 6c2bc37 commit c4b270c

File tree

1 file changed

+1
-1
lines changed
  • apps/language_server/lib/language_server/providers/folding_range

1 file changed

+1
-1
lines changed

apps/language_server/lib/language_server/providers/folding_range/special_token.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ defmodule ElixirLS.LanguageServer.Providers.FoldingRange.SpecialToken do
4545
%{startLine: 2, endLine: 3, kind?: :region},
4646
]}
4747
"""
48-
@spec provide_ranges([FoldingRange.input()]) :: {:ok, [FoldingRange.t()]}
48+
@spec provide_ranges(FoldingRange.input()) :: {:ok, [FoldingRange.t()]}
4949
def provide_ranges(%{tokens: tokens}) do
5050
ranges =
5151
tokens

0 commit comments

Comments
 (0)