microsoft / microsoft/TypeScript

Investigate decorator initialization order re: renames of classes

Ouverte
#63,758 0 commentaires 1 réaction 2 personnes assignées Voir sur GitHub

@RyanCavanaugh y travaille déjà.

Depuis le 20/8/2026.

  • #63929 par @copilot-swe-agent — ouverte
Needs Investigation
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

> @copilot address the next CR comment and think hard about other edge cases

Investigated the CR comment on computed class-element names (`@dec class C { [C]() {} }`) and verified against real `tsc` (7.0.2, legacy decorators, ES2020/ES2022) using several variants: getter/setter computed names, a computed name with its own member decorator, a static property computed name, and a computed name inside a nested class within a method body. In every case, real `tsc` *does* substitute the class alias in computed class-member names (e.g. emits `[C_1.name]() {}`, not `[C.name]() {}`), including before the alias is actually assigned (this is a real, pre-existing bug/quirk in Strada's own emit, not something this PR should "fix"). I built `tsgo` and confirmed its output already matches `tsc`'s byte-for-byte for all these cases at the current `afb6df68` state.

So the CR suggestion to exclude computed class-element names from alias detection/substitution is incorrect — implementing it would make `tsgo` diverge from `tsc`. I made no code changes for this comment; current behavior is already correct.

_Originally posted by @Copilot in https://github.com/microsoft/typescript-go/issues/4650#issuecomment-5321088559_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

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