LuaLS / LuaLS/lua-language-server

Advanced missing nil check

Offen
#1,214 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

This is probably really hard to "fix".
```lua
---@type table|nil
local blueprint = { x = 1 }
local hasBlueprint = true

if blueprint == nil then
hasBlueprint = false
end

if hasBlueprint then
error("no blueprint found")
end

local s = blueprint.x
```
![grafik](https://user-images.githubusercontent.com/56718716/173940726-c38cdcfb-acf4-41a1-aad5-00e0d6931997.png)

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

Beginnen Sie damit, das bereitgestellte Lua-Beispiel zu reproduzieren, und untersuchen Sie die Nil-Prüfung und die Kontrollflussanalyse des Language Servers. Bestätigen Sie die erwartete Diagnose für den Zugriff auf blueprint.x, verfolgen Sie anschließend den relevanten Einstiegspunkt des Analysators und fügen Sie eine fokussierte Abdeckung hinzu bzw. aktualisieren Sie diese, damit der gezeigte Fall konsistent behandelt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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