microsoft / microsoft/TypeScript

Declaration emit for private identifiers in class expressions is wrong

Offen
#36,548 3 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: Declaration Emit Help Wanted Rescheduled
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Code

const O = class { #g }

Expected behavior:

declare const O = class { #private }

Actual behavior:

declare const O: {
    new (): {
        "__#1@#g": any;
    };
};

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit dem bereitgestellten Klassenausdruck-Snippet und dem Declaration Emit und verfolge anschließend, wie private Bezeichner beim Erzeugen von Deklarationen für Klassenausdrücke dargestellt werden. Vergleiche die Ausgabe mit der erwarteten #private-Deklaration; als abgeschlossen gilt die Aufgabe, wenn die erzeugte Deklaration dem erwarteten Verhalten entspricht, ohne verwandte Fälle mit privaten Bezeichnern zu regressieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.