LuaLS / LuaLS/lua-language-server
Nested property type lost when accessed from reference
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?
Type Checking
### Expected Behaviour
``` ---@class A
local A = {}
---@class B
---@overload fun(): B
local B = {}
---@class C
---@overload fun(): C
local C = {}
A.property1 = B()
A.property1.property2 = C()
local refToB = A.property1
local refToC = refToB.property2
```
while the local `refToB` is correctly of type `B`, it no longer is aware of property2.

expected behavior would be that it is aware of the properties assigned to the instance.
### Actual Behaviour
presence of property is lost in the "instance" of object B (not definition).
### Reproduction steps
1. Go to '...'
2. Click '...'
3. See error '...'
### Additional Notes
_No response_
### Log File
_No response_
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
Comienza con el ejemplo de comprobación de tipos de Lua incluido en el issue y reproduce la información de propiedades que falta mediante las asignaciones a A.property1, refToB y refToC. Rastrea el comportamiento relevante de la comprobación de tipos hasta que refToB conserve property2 y refToC se resuelva como C; en el issue no se menciona ningún archivo del repositorio ni ningún test.
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
- Bastante claro
- Aptitud para principiantes
- 35/100