mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-17 21:06:50 -05:00
feat(44263): add quick fix for misspelled override error (#44266)
This commit is contained in:
@@ -7,6 +7,7 @@ namespace ts.codefix {
|
||||
Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,
|
||||
Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,
|
||||
Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,
|
||||
Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1.code,
|
||||
// for JSX class components
|
||||
Diagnostics.No_overload_matches_this_call.code,
|
||||
// for JSX FC
|
||||
@@ -73,6 +74,14 @@ namespace ts.codefix {
|
||||
const props = checker.getContextualTypeForArgumentAtIndex(tag, 0);
|
||||
suggestedSymbol = checker.getSuggestedSymbolForNonexistentJSXAttribute(node, props!);
|
||||
}
|
||||
else if (hasSyntacticModifier(parent, ModifierFlags.Override) && isClassElement(parent) && parent.name === node) {
|
||||
const baseDeclaration = findAncestor(node, isClassLike);
|
||||
const baseTypeNode = baseDeclaration ? getEffectiveBaseTypeNode(baseDeclaration) : undefined;
|
||||
const baseType = baseTypeNode ? checker.getTypeAtLocation(baseTypeNode) : undefined;
|
||||
if (baseType) {
|
||||
suggestedSymbol = checker.getSuggestedSymbolForNonexistentClassMember(getTextOfNode(node), baseType);
|
||||
}
|
||||
}
|
||||
else {
|
||||
const meaning = getMeaningFromLocation(node);
|
||||
const name = getTextOfNode(node);
|
||||
|
||||
Reference in New Issue
Block a user