From d069da2f66334a4ea65d5ed30831ee46dbde1817 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Tue, 11 Sep 2018 06:33:15 -0700 Subject: [PATCH] Update getAugmentedPropertiesOfType --- src/compiler/checker.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9c2861c6792..00c258a8eef 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27758,8 +27758,11 @@ namespace ts { function getAugmentedPropertiesOfType(type: Type): Symbol[] { type = getApparentType(type); const propsByName = createSymbolTable(getPropertiesOfType(type)); - if (typeHasCallOrConstructSignatures(type)) { - forEach(getPropertiesOfType(globalFunctionType), p => { + const functionType = getSignaturesOfType(type, SignatureKind.Call).length ? globalCallableFunctionType : + getSignaturesOfType(type, SignatureKind.Call).length ? globalNewableFunctionType : + undefined; + if (functionType) { + forEach(getPropertiesOfType(functionType), p => { if (!propsByName.has(p.escapedName)) { propsByName.set(p.escapedName, p); }