mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-17 12:19:32 -05:00
fix(57141): override keyword doesn't check symbol-key class members (#57146)
This commit is contained in:
@@ -45805,7 +45805,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
hasAbstractModifier(member),
|
||||
isStatic(member),
|
||||
memberIsParameterProperty,
|
||||
symbolName(declaredProp),
|
||||
declaredProp,
|
||||
reportErrors ? member : undefined,
|
||||
);
|
||||
}
|
||||
@@ -45829,22 +45829,21 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
memberHasAbstractModifier: boolean,
|
||||
memberIsStatic: boolean,
|
||||
memberIsParameterProperty: boolean,
|
||||
memberName: string,
|
||||
member: Symbol,
|
||||
errorNode?: Node,
|
||||
): MemberOverrideStatus {
|
||||
const isJs = isInJSFile(node);
|
||||
const nodeInAmbientContext = !!(node.flags & NodeFlags.Ambient);
|
||||
if (baseWithThis && (memberHasOverrideModifier || compilerOptions.noImplicitOverride)) {
|
||||
const memberEscapedName = escapeLeadingUnderscores(memberName);
|
||||
const thisType = memberIsStatic ? staticType : typeWithThis;
|
||||
const baseType = memberIsStatic ? baseStaticType : baseWithThis;
|
||||
const prop = getPropertyOfType(thisType, memberEscapedName);
|
||||
const baseProp = getPropertyOfType(baseType, memberEscapedName);
|
||||
const prop = getPropertyOfType(thisType, member.escapedName);
|
||||
const baseProp = getPropertyOfType(baseType, member.escapedName);
|
||||
|
||||
const baseClassName = typeToString(baseWithThis);
|
||||
if (prop && !baseProp && memberHasOverrideModifier) {
|
||||
if (errorNode) {
|
||||
const suggestion = getSuggestedSymbolForNonexistentClassMember(memberName, baseType); // Again, using symbol name: note that's different from `symbol.escapedName`
|
||||
const suggestion = getSuggestedSymbolForNonexistentClassMember(symbolName(member), baseType); // Again, using symbol name: note that's different from `symbol.escapedName`
|
||||
suggestion ?
|
||||
error(
|
||||
errorNode,
|
||||
@@ -45990,7 +45989,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
|
||||
hasAbstractModifier(member),
|
||||
isStatic(member),
|
||||
/*memberIsParameterProperty*/ false,
|
||||
symbolName(memberSymbol),
|
||||
memberSymbol,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user