LuaLS / LuaLS/lua-language-server
View definition of overloaded value via __index of metatable doesn't seem right
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Lua
- Estrellas
- 4.4k
- Forks
- 442
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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?
Hover
Expected Behaviour
local a = {k = 'v1'}
local b = setmetatable({}, {__index = a})
b.k = 'v2'
View definition of a.k:
local a = {k = 'v1'}
Actual Behaviour
View definition of a.k:
Reproduction steps
Press F12 while selecting the k of the first line of the code below:
local a = {k = 'v1'}
local b = setmetatable({}, {__index = a})
b.k = 'v2'
Additional Notes
Chinese colloquial description:
如上所述,当我试图浏览 a.k 的定义时,同时弹出了 a.k 与 b.k 的定义。这显然是不对的:表 b 元表的__index 为 a,因此 b.k 只是继承了 a.k,其定义与 a.k 的定义并无关联,不应显示到 a.k 上。
当借助__index 实现的继承较多时,定义就失去了它应有的作用,非常凌乱。
我正在为一款游戏的 mod 开发 LLS 的 Addon 与 Plugin,因此我愿意提供我力所能及的帮助。如果已有重复的 issue,恳请谅解!
Log File
file_c%3A_LLS-issue.log
I suppose this may not be helpful. But just upload it.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el comportamiento de definición en la VS Code extension usando el snippet de Lua de tres líneas y compara los resultados de F12 para las dos referencias a k. Sigue la ruta de resolución de definiciones para los campos de tablas y el manejo de __index; se considera terminado cuando al seleccionar a.k solo se muestra la definición de a.k, en lugar de mostrar también la de b.k.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 35/100