microsoft / microsoft/TypeScript
Detect duplicate nodes during printing
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Baumdurchquerung des Printers und die im Issue erwähnten Felder __pos und __end von Node nachzuverfolgen. Ermittle, wo das doppelte Einfügen eines Nodes erkannt werden kann, und verifiziere anschließend, dass die wiederholte Verwendung desselben Nodes einen eindeutigen Fehler statt einer subtilen Ausgabe oder einer nicht zusammenhängenden Exception erzeugt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100