From 56f82563aedd1713903172fc217d362a6c198f17 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 16 Aug 2018 08:38:41 -0700 Subject: [PATCH] Check SymbolFlags instead --- src/compiler/checker.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 829d11bd09..2bb112d6c4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -17739,12 +17739,6 @@ namespace ts { } } - // If a symbol is a synthesized symbol with no value declaration, we assume it is a property. Example of this are the synthesized - // '.prototype' property as well as synthesized tuple index properties. - function getDeclarationKindFromSymbol(s: Symbol) { - return s.valueDeclaration ? s.valueDeclaration.kind : SyntaxKind.PropertyDeclaration; - } - function getDeclarationNodeFlagsFromSymbol(s: Symbol): NodeFlags { return s.valueDeclaration ? getCombinedNodeFlags(s.valueDeclaration) : 0; } @@ -17881,10 +17875,7 @@ namespace ts { } function symbolHasNonMethodDeclaration(symbol: Symbol) { - return forEachProperty(symbol, prop => { - const propKind = getDeclarationKindFromSymbol(prop); - return propKind !== SyntaxKind.MethodDeclaration && propKind !== SyntaxKind.MethodSignature; - }); + return !!forEachProperty(symbol, prop => !(prop.flags & SymbolFlags.Method)); } function checkNonNullExpression(