fix(45345): throw an error on overridden member that is defined in multiple interfaces (#45352)

This commit is contained in:
Oleksandr T
2021-08-10 21:50:22 +03:00
committed by GitHub
parent 68eb1a551f
commit ad894f74b3
7 changed files with 293 additions and 2 deletions

View File

@@ -37687,8 +37687,8 @@ namespace ts {
error(member, Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1, baseClassName, symbolToString(suggestion)) :
error(member, Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0, baseClassName);
}
else if (prop && baseProp?.valueDeclaration && compilerOptions.noImplicitOverride && !nodeInAmbientContext) {
const baseHasAbstract = hasAbstractModifier(baseProp.valueDeclaration);
else if (prop && baseProp?.declarations && compilerOptions.noImplicitOverride && !nodeInAmbientContext) {
const baseHasAbstract = some(baseProp.declarations, hasAbstractModifier);
if (hasOverride) {
return;
}