LuaLS / LuaLS/lua-language-server
Treat class field as special function (such as `type`)
Personne n'a encore pris cette issue.
- Langage dominant
- Lua
- Étoiles
- 4.4k
- Forks
- 442
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
In Factorio, all the API classes have a `object_name` field (not function!), which identifies their class name, much like `type()` does for base types. We're currently handling this with a plugin that rewrites this from `obj.object_name` to look like `__object_name(obj)` which is then tagged as ```
"Lua.runtime.special": {
"__object_name": "type"
},
```, to get it to work properly in type-tests, but it would be nice to be able to indicate that a class field "acts like `type`" in this way directly.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Start by reviewing the existing plugin rewrite from obj.object_name to __object_name(obj) and the Lua.runtime.special mapping to type. Trace how type-tests consume that mapping, then verify that a direct class-field declaration preserves the same behavior without the rewrite.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100