From c80f532e01a9a23e957231d3121a435465ea8d59 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 8 Oct 2018 09:59:47 -0700 Subject: [PATCH] Add missing check in getTypeAtSwitchClause --- src/compiler/checker.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 852bf39c16d..c37066858a0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14972,9 +14972,12 @@ namespace ts { } function getTypeAtSwitchClause(flow: FlowSwitchClause): FlowType { + const expr = flow.switchStatement.expression; + if (containsMatchingReferenceDiscriminant(reference, expr)) { + return declaredType; + } const flowType = getTypeAtFlowNode(flow.antecedent); let type = getTypeFromFlowType(flowType); - const expr = flow.switchStatement.expression; if (isMatchingReference(reference, expr)) { type = narrowTypeBySwitchOnDiscriminant(type, flow.switchStatement, flow.clauseStart, flow.clauseEnd); }