intellisense in static method suggests TypeParameter of outer class

Ouverte
#28,472 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
typescript

Piste de recherche

Commencez par reproduire le cas générique imbriqué avec membre statique de l’issue ou de son lien Playground, puis examinez TypeChecker.getSymbolsInScope et la collecte des symboles d’IntelliSense autour des membres statiques. Le travail est terminé lorsqu’IntelliSense ne suggère plus le T externe inaccessible, tout en conservant le traitement prévu de Inner's T.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

In Discussion Suggestion

TypeScript Version: 3.2.0-dev.20181101

Search Terms:

Code

class Outer<T> {
    doStuff() {
        class Inner<T> {
            static doStuff(param: /**/) {}
        }
    }
}

Expected behavior:

Intellisense does not suggest T as it will result in an error.
OR
T of Inner doesn't shadow the outer T in static members, which is therefore accessible.

Actual behavior:

Suggests T from Outer.

Playground Link: https://agentcooper.github.io/typescript-play/#code/MYGwhgzhAEDyCuAXApgJwDwBUB80DeAUNMdACYD2AyovAGa0AUAlPkSe6JDAJIB2vaLLkLtRJCIjCIAlsDJUa9BgAcwqMAFsAXNAD0AKn26WeAL5sx59udNA

Related Issues:
#28471

TypeChecker.getSymbolsInScope correctly excludes TypeParameters of the containing class for its static members. Because of that an outer scope can add a symbol with the same name.

Langage dominant
Go
Étoiles
111k
Forks
14.4k
Merge moyen
1 j 19 h
PR mergées (30 j)
117

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.

Autres issues de microsoft/TypeScript

Toutes les issues de microsoft/TypeScript

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

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