GDQuest / GDQuest/GDScript-formatter

Linter: "private-access" incorrectly triggers on access from static context within same class

Ouverte
#269 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
help wanted
Langage dominant
Rust
Étoiles
458
Forks
40
Merge moyen
1 j 15 h
PR mergées (30 j)
4

Description

## Description

The rule `private-access` is triggered when accessing a private instance member from a static context within the same class. See the example below.

The rule message is "... should not be accessed *from outside its class*" which let me think this is not intentional and is a bug.

## Reproduce

```gdscript
class_name Foo

var _data: int

func _method() -> void:
pass

static func do(foo: Foo) -> void:
foo._data = 0
foo._method()
```

## Expected behaviour

No linter rule triggered.

## Observed behaviour

The above example triggers :
`[private-access] Private variable '_data' should not be accessed from outside its class`
`[private-access] Private method '_method' should not be accessed from outside its class`

But this is not an access from outside the class...

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par reproduire les diagnostics `private-access` avec l’exemple GDScript de l’issue, puis suivez la règle du linter qui gère les variables et méthodes privées. Vérifiez comment le contexte statique au sein de la même classe est classifié. Le travail est terminé lorsque l’exemple ne produit aucun diagnostic `private-access`, tandis que les accès depuis l’extérieur de la classe restent vérifiés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
godot, rust
Domaine
tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.