From 16c36d03b1992beac63d5adfe44e13a9fd1bc084 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 12 Dec 2019 16:40:51 -0800 Subject: [PATCH 1/3] remove JSDOC object->any rewrite --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a16ac45852853..af318608291c7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12850,7 +12850,7 @@ namespace ts { case SyntaxKind.NeverKeyword: return neverType; case SyntaxKind.ObjectKeyword: - return node.flags & NodeFlags.JavaScriptFile ? anyType : nonPrimitiveType; + return nonPrimitiveType; case SyntaxKind.ThisType: case SyntaxKind.ThisKeyword: return getTypeFromThisTypeNode(node as ThisExpression | ThisTypeNode); From 0df78aa0aa001b46ce02db31bf956b793202abdc Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 12 Dec 2019 17:58:10 -0800 Subject: [PATCH 2/3] reinstate object->any rewrite when noImplicitAny: false --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index af318608291c7..001f670cb21df 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12850,7 +12850,7 @@ namespace ts { case SyntaxKind.NeverKeyword: return neverType; case SyntaxKind.ObjectKeyword: - return nonPrimitiveType; + return node.flags & NodeFlags.JavaScriptFile && noImplicitAny ? anyType : nonPrimitiveType; case SyntaxKind.ThisType: case SyntaxKind.ThisKeyword: return getTypeFromThisTypeNode(node as ThisExpression | ThisTypeNode); From da77d051ffa6f9797059fd18b5d8c5bffec1ba65 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 12 Dec 2019 17:58:46 -0800 Subject: [PATCH 3/3] flip boolean right way round --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 001f670cb21df..7f04a2adbfe16 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -12850,7 +12850,7 @@ namespace ts { case SyntaxKind.NeverKeyword: return neverType; case SyntaxKind.ObjectKeyword: - return node.flags & NodeFlags.JavaScriptFile && noImplicitAny ? anyType : nonPrimitiveType; + return node.flags & NodeFlags.JavaScriptFile && !noImplicitAny ? anyType : nonPrimitiveType; case SyntaxKind.ThisType: case SyntaxKind.ThisKeyword: return getTypeFromThisTypeNode(node as ThisExpression | ThisTypeNode);