From 5c99c67b4bd7b15f86db75909929b79d433e4b71 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Thu, 7 Dec 2017 12:16:53 -0800 Subject: [PATCH] Fixes #20542 --- src/compiler/checker.ts | 7 ++++++- tests/cases/fourslash/typeToStringCrashInCodeFix.ts | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/typeToStringCrashInCodeFix.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 269c55145ec..5b481ef4721 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3951,7 +3951,12 @@ namespace ts { writePunctuation(writer, SyntaxKind.CloseBracketToken); writePunctuation(writer, SyntaxKind.ColonToken); writeSpace(writer); - buildTypeDisplay(info.type, writer, enclosingDeclaration, globalFlags, symbolStack); + if (info.type) { + buildTypeDisplay(info.type, writer, enclosingDeclaration, globalFlags, symbolStack); + } + else { + writeKeyword(writer, SyntaxKind.AnyKeyword); + } writePunctuation(writer, SyntaxKind.SemicolonToken); writer.writeLine(); } diff --git a/tests/cases/fourslash/typeToStringCrashInCodeFix.ts b/tests/cases/fourslash/typeToStringCrashInCodeFix.ts new file mode 100644 index 00000000000..05cf00cb4ce --- /dev/null +++ b/tests/cases/fourslash/typeToStringCrashInCodeFix.ts @@ -0,0 +1,6 @@ +/// + +// @noImplicitAny: true +//// function f(y, z = { p: y[ + +verify.getAndApplyCodeFix();