microsoft / microsoft/TypeScript
Gracefully handle template literal properties in the parser
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
``` TypeScript
var x = {
a: "Hello"
`b`: 123
}
```
Right now, the parser encounters the template string, decides it should bail out of object literal parsing, and we more or less recover thinking we have something like the following:
``` TypeScript
var x = ({ a: "Hello" } `b`) : 123 }
```
So we'll report an error on what we think is:
``` TypeScript
{ a: "Hello" } `b`
```
- On the syntactic layer under ES5 mode, we'll say tagged templates are not supported unless in ES6.
- On the semantic layer, we'll say `{ a: "Hello" }` is not invokable.
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 la gestion des littéraux d’objet du parser et reproduisez le cas montré d’une propriété de template literal en modes ES5 et ES6. Suivez la manière dont le parser récupère au niveau de la chaîne template et comparez les diagnostics syntaxiques et sémantiques obtenus. Le travail est terminé lorsque cette construction malformée ou non prise en charge reçoit les diagnostics appropriés sans être interprétée à tort comme un appel tagué.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100