lua-language-server icon indicating copy to clipboard operation
lua-language-server copied to clipboard

Incorrect field type calculation when field name in variable

Open d-enk opened this issue 4 months ago • 1 comments

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua) v3.11.0

Which OS are you using?

Linux

What is the issue affecting?

Type Checking

Reproduction steps

---@diagnostic disable: unused-local

---@class Class
local Class = { __type = "Class" }

local field = "some_string" -- field: string = "some_string"

do
	local c = {} ---@type Class

	-- OK
	local f1 = c["some_string"] --  f1: unknown
	local f2 = c[field] -- f2: unknown
end

function Class:f()
	-- OK
	local f1 = self["some_string"] --  f1: unknown

	-- BUT
	local f2 = self[field] -- f2: string = "Class"
end

do
	-- OK
	local f1 = Class["some_string"] --  f1: unknown

	-- BUT
	local f2 = Class[field] -- f2: string = "Class"
end


d-enk avatar Oct 07 '24 17:10 d-enk