microsoft / microsoft/TypeScript
Related error spans for derived members in interfaces/classes
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
Now that we support multiple related spans for errors (#10489, #22789, #24548), we'd like to improve an existing error message.
Currently, we provide certain errors for when a derived type incorrectly overrides/implements a member from the base type:
Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor.
Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property.
Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function.
Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function.
Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'.
We can actually provide the base type's member as a related span location for some extra context.
'{0}' redefines '{1}' in an incompatible way.
Where
0is the derived type1is the member name
and this gets reported on the base type member.
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
Beginnen Sie damit, den TypeScript compiler nach den im Issue gezeigten vorhandenen Diagnosezeichenfolgen für abgeleitete Member und Property-Zuweisbarkeit zu durchsuchen. Verfolgen Sie, wo diese Fehler gemeldet werden und wie zugehörige Spans angehängt werden. Erledigt ist dies, wenn die konsolidierte Meldung verwendet wird, das Basismember als zugehöriger Span angegeben wird und der Kontext des abgeleiteten Typs und des Membernamens erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100