From 2d1af778396b96411a04f28fba90693f44cc626c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Thu, 24 Oct 2019 18:30:11 -0400 Subject: [PATCH] Address CR feedback --- src/compiler/binder.ts | 3 ++- src/compiler/utilities.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 6cb9e395f18..fddbffeeecb 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -1,3 +1,4 @@ + /* @internal */ namespace ts { export const enum ModuleInstanceState { @@ -953,7 +954,7 @@ namespace ts { } if ((expression.kind === SyntaxKind.TrueKeyword && flags & FlowFlags.FalseCondition || expression.kind === SyntaxKind.FalseKeyword && flags & FlowFlags.TrueCondition) && - !isExpressionOfOptionalChainRoot(expression) && !isQuestionQuestionExpression(expression.parent)) { + !isExpressionOfOptionalChainRoot(expression) && !isNullishCoalesce(expression.parent)) { return unreachableFlow; } if (!isNarrowingExpression(expression)) { diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 7c85f169b72..423fa992504 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -5953,7 +5953,7 @@ namespace ts { return isOptionalChainRoot(node.parent) && node.parent.expression === node; } - export function isQuestionQuestionExpression(node: Node) { + export function isNullishCoalesce(node: Node) { return node.kind === SyntaxKind.BinaryExpression && (node).operatorToken.kind === SyntaxKind.QuestionQuestionToken; }