Add `new_typeinfo` to public plugin API for both SemanticAnalyzer and TypeChecker
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 20.6k
- Forks
- 3.3k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
In django-stubs, it's used in a lot of places to generate one-off classes.
For semanal, there's https://github.com/python/mypy/blob/master/mypy/semanal.py#L3029, which used for the special casing of NamedTuple/TypedDict/others, which basically plugins in the core.
For type checking, there's no equivalent, but similar code is used here https://github.com/python/mypy/blob/master/mypy/checker.py#L3659
It would be also nice to be able to specify more than one base class.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies zuerst mypy/semanal.py#L3029 und mypy/checker.py#L3659 und vergleiche dabei die bestehenden einmaligen Pfade zur Klassenerstellung, die von Plugins und der Typprüfung verwendet werden. Definiere die öffentliche Plugin-API sowohl für SemanticAnalyzer als auch für TypeChecker, einschließlich der Unterstützung mehrerer Basisklassen; abgeschlossen ist die Aufgabe, wenn beide Einstiegspunkte sie für die Verwendung im Stil von django-stubs bereitstellen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100