LuaLS / LuaLS/lua-language-server

Diagnostics.(param-type-mismatch)

Offen
#1,414 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement feat/type check
Vorherrschende Sprache
Lua
Sterne
4.4k
Forks
442
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

---@enum Test
local Test = {
    Test1 = 1,
    Test2 = 2,
    Test3 = 2,
}

---@type Test|Test[]
local a

---@param c Test
local function b(c) end

if type(a) == "table" then
    b(a[1]);
else
    b(a);
end

---@class Class
---@field a Test|Test[]
local Class = {};

function Class:Test()
    if type(self.a) == "table" then
        b(self.a[1]);
    else
        b(self.a);
    end
end

image
image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Keine Quelldatei oder kein Test ist genannt. Beginne damit, das gezeigte Lua-Snippet zu reproduzieren und die param-type-mismatch-Diagnosen sowohl für die lokale Union als auch für das Klassenfeld zu untersuchen; fertig ist es, wenn die Diagnosen den durch jede Typprüfung eingegrenzten Typ korrekt behandeln.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.