LuaLS / LuaLS/lua-language-server

Wrongly detects unreachable code

Offen
#2,282 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Linux

What is the issue affecting?

Diagnostics/Syntax Checking, Hover

Expected Behaviour

Given the following code

local arr = {}

for k,v in pairs(arr) do
	if k == 1 then
		print("k == 1")
		error("hi", k, v)
	else
		error("hi", k, v)
	end
end

print("hello world")

print in the last line should not be marked as unreachable, since arr is empty and error is never called.

Actual Behaviour

print in the last line is marked as unreachable.

grafik

Reproduction steps
  1. Open New Tab in VSCode
  2. Paste code example from above
  3. if not set automatically, change language to lua
  4. see last line being greyed out
Additional Notes

No response

Log File

No response

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

Reproduziere die Diagnose in der LuaLS Visual Studio Code extension mithilfe des bereitgestellten Snippets unter Linux und verfolge anschließend die Analyse des unerreichbaren Codes für die Schleife und ihre abschließende print-Anweisung. Die Aufgabe ist erledigt, wenn die abschließende print-Anweisung nicht mehr als unerreichbar markiert wird, wenn die Schleife über eine leere Tabelle iteriert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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