Skip to content

Commit 2013058

Browse files
committed
Fix class/interface merging issue + lint error
1 parent 4e56fc0 commit 2013058

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/compiler/checker.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -3564,11 +3564,13 @@ namespace ts {
35643564
if (type.flags & TypeFlags.Tuple) {
35653565
type.resolvedBaseTypes = [createArrayType(getUnionType(type.typeParameters))];
35663566
}
3567-
else if (type.symbol.flags & SymbolFlags.Class) {
3568-
resolveBaseTypesOfClass(type);
3569-
}
3570-
else if (type.symbol.flags & SymbolFlags.Interface) {
3571-
resolveBaseTypesOfInterface(type);
3567+
else if (type.symbol.flags & (SymbolFlags.Class | SymbolFlags.Interface)) {
3568+
if (type.symbol.flags & SymbolFlags.Class) {
3569+
resolveBaseTypesOfClass(type);
3570+
}
3571+
if (type.symbol.flags & SymbolFlags.Interface) {
3572+
resolveBaseTypesOfInterface(type);
3573+
}
35723574
}
35733575
else {
35743576
Debug.fail("type must be class or interface");
@@ -4972,7 +4974,7 @@ namespace ts {
49724974
}
49734975

49744976
function cloneTypeReference(source: TypeReference): TypeReference {
4975-
let type = <TypeReference>createObjectType(source.flags, source.symbol);
4977+
const type = <TypeReference>createObjectType(source.flags, source.symbol);
49764978
type.target = source.target;
49774979
type.typeArguments = source.typeArguments;
49784980
return type;

0 commit comments

Comments
 (0)