microsoft / microsoft/TypeScript
Detect duplicate nodes during printing
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 132
Description
While rewriting code for refactorings and code fixes, it is quite easy to inadvertently insert a single Node into multiple positions in the tree (i.e. when it should have been cloned). It would be very helpful if the printer (or other, more appropriate, component) detected this, rather than behaving subtly incorrectly or throwing an (apparently) unrelated exception.
One way to do this would be to clear __pos and __end before traversing the tree and then throwing if they are set a second time during the traversal.
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
Commencez par suivre le parcours de l’arbre du printer ainsi que les champs __pos et __end de Node mentionnés dans l’issue. Déterminez où l’insertion en double d’un nœud peut être détectée, puis vérifiez que l’utilisation répétée du même nœud produit une erreur claire plutôt qu’une sortie subtile ou une exception sans rapport.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100