microsoft / microsoft/TypeScript

Gracefully handle template literal properties in the parser

Ouverte
#1,057 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Domain: Error Messages Effort: Moderate Experience Enhancement Help Wanted
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

  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.

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

Recevez les nouvelles issues par e-mail

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