LuaLS / LuaLS/lua-language-server

Is it possible to implement support for this type of overload?

Aberta
#2,342 2 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Lua
Estrelas
4.4k
Forks
442
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Windows

What is the issue affecting?

Type Checking

Expected Behaviour

image

Actual Behaviour

image

Reproduction steps
---@class Position
---@field x number
---@field y number
---@field z number
Position = {};

---@param x number
---@param y number
---@return number
---@overload fun(self:Position, pos: Position): number
function Position:GetExactDist2dSq(x, y)
    if type(x) == "table" then
        return self:GetExactDist2dSq(x.x, x.y);
    end
    local dx = x - self.x;
    local dy = y - self.y;
    return dx*dx + dy*dy;
end

Additional Notes

No response

Log File

No response

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece com a reprodução em Lua do issue e compare o comportamento esperado e o real da verificação de tipos mostrado nas capturas de tela. Rastreie o tratamento de sobrecargas do language server para GetExactDist2dSq; está concluído quando tanto a forma com argumentos numéricos quanto a sobrecarga com um argumento Position forem verificadas corretamente quanto aos tipos.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
lua
Domínio
devtools
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.