Merge pull request #41075 from uhyo/fix-36958

allow type narrowing with NonNullExpression
This commit is contained in:
Wesley Wigham
2020-10-27 20:10:27 -07:00
committed by GitHub
6 changed files with 58 additions and 2 deletions
+2 -1
View File
@@ -845,7 +845,8 @@ namespace ts {
case SyntaxKind.CallExpression:
return hasNarrowableArgument(<CallExpression>expr);
case SyntaxKind.ParenthesizedExpression:
return isNarrowingExpression((<ParenthesizedExpression>expr).expression);
case SyntaxKind.NonNullExpression:
return isNarrowingExpression((<ParenthesizedExpression | NonNullExpression>expr).expression);
case SyntaxKind.BinaryExpression:
return isNarrowingBinaryExpression(<BinaryExpression>expr);
case SyntaxKind.PrefixUnaryExpression:
+2 -1
View File
@@ -22618,7 +22618,8 @@ namespace ts {
case SyntaxKind.CallExpression:
return narrowTypeByCallExpression(type, <CallExpression>expr, assumeTrue);
case SyntaxKind.ParenthesizedExpression:
return narrowType(type, (<ParenthesizedExpression>expr).expression, assumeTrue);
case SyntaxKind.NonNullExpression:
return narrowType(type, (<ParenthesizedExpression | NonNullExpression>expr).expression, assumeTrue);
case SyntaxKind.BinaryExpression:
return narrowTypeByBinaryExpression(type, <BinaryExpression>expr, assumeTrue);
case SyntaxKind.PrefixUnaryExpression: