diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a3fe9b32b4..494221177b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3445,9 +3445,9 @@ namespace ts { function getTypeOfBasePropertyDeclaration(declaration: PropertyDeclaration) { if (declaration.parent.kind === SyntaxKind.ClassDeclaration) { const parent = declaration.parent; - const types = getBaseTypes(getDeclaredTypeOfSymbol(getSymbolOfNode(parent))); - const implementedTypeNodes = getClassImplementsHeritageClauseElements(parent) || ([] as NodeArray); - const allBases = getIntersectionType(types.concat(map(implementedTypeNodes, getTypeFromTypeReference))); + const baseClasses = getBaseTypes(getDeclaredTypeOfSymbol(getSymbolOfNode(parent))); + const implementsNode = getClassImplementsHeritageClauseElements(parent) || ([] as NodeArray); + const allBases = getIntersectionType(baseClasses.concat(map(implementsNode, getTypeFromTypeReference))); const baseProperty = getPropertyOfType(allBases, declaration.symbol.name); if (baseProperty) { return getTypeOfSymbol(baseProperty);