From 421ea01aa9bd1e8b95bc95e9a48847fd09215ad7 Mon Sep 17 00:00:00 2001 From: Tycho Grouwstra Date: Fri, 25 Aug 2017 22:20:29 +0800 Subject: [PATCH] make it parse --- src/compiler/checker.ts | 6 +++--- tests/cases/compiler/nonNullType.ts | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 tests/cases/compiler/nonNullType.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4405a31db28f7..311854ff46f3c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -7986,8 +7986,8 @@ namespace ts { return getTypeFromIntersectionTypeNode(node); case SyntaxKind.JSDocNullableType: return getTypeFromJSDocNullableTypeNode(node); - case SyntaxKind.ParenthesizedType: case SyntaxKind.JSDocNonNullableType: + case SyntaxKind.ParenthesizedType: case SyntaxKind.JSDocOptionalType: case SyntaxKind.JSDocTypeExpression: return getTypeFromTypeNode((node).type); @@ -22374,7 +22374,8 @@ namespace ts { return checkUnionOrIntersectionType(node); case SyntaxKind.ParenthesizedType: case SyntaxKind.TypeOperator: - return checkSourceElement((node).type); + case SyntaxKind.JSDocNonNullableType: + return checkSourceElement((node).type); case SyntaxKind.JSDocComment: return checkJSDocComment(node as JSDoc); case SyntaxKind.JSDocParameterTag: @@ -22383,7 +22384,6 @@ namespace ts { checkSignatureDeclaration(node as JSDocFunctionType); // falls through case SyntaxKind.JSDocVariadicType: - case SyntaxKind.JSDocNonNullableType: case SyntaxKind.JSDocNullableType: case SyntaxKind.JSDocAllType: case SyntaxKind.JSDocUnknownType: diff --git a/tests/cases/compiler/nonNullType.ts b/tests/cases/compiler/nonNullType.ts new file mode 100644 index 0000000000000..8bc6ee9897f9e --- /dev/null +++ b/tests/cases/compiler/nonNullType.ts @@ -0,0 +1,7 @@ +// @strictNullChecks: true +type z = string | undefined | null | never; +type a = string | undefined | null | never; +type b = a!; +type Assert = T!; +type c = Assert; +