microsoft / microsoft/TypeScript
Feature Request: add TypeChecker API to query if identifier is definitely assigned
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
Currently it's not possible to query CFA. I need to find out if an identifier is definitely assigned. This logic is part of checkIdentifier and is not accessible outside of that function.
My use case is the TSLint rule no-unnecessary-type-assertion where we need to identify false positives. The current implementation compares the type before and after the non-null-assertion. That doesn't work well for identifiers that are not definitely assigned, because the assertion suppresses TS2454 and can therefore not be removed.
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 lire la logique d’analyse du flux de contrôle dans checkIdentifier, qui contient actuellement la vérification d’affectation définitive. Suivez la manière dont la règle TSLint no-unnecessary-type-assertion doit interroger ce résultat et définissez la limite de l’API publique de TypeChecker. Le travail est terminé lorsque les appelants peuvent déterminer si un identifiant est définitivement affecté sans dépendre du comportement interne de checkIdentifier.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100