Treat exhaustive switch as last statement in function #18882 (#20063)

This commit is contained in:
Charles Pierce
2017-11-16 12:17:26 -08:00
committed by Mohamed Hegazy
parent 478b404f42
commit 1da35d9dca
6 changed files with 326 additions and 2 deletions

View File

@@ -17827,8 +17827,8 @@ namespace ts {
if (!(func.flags & NodeFlags.HasImplicitReturn)) {
return false;
}
const lastStatement = lastOrUndefined((<Block>func.body).statements);
if (lastStatement && lastStatement.kind === SyntaxKind.SwitchStatement && isExhaustiveSwitchStatement(<SwitchStatement>lastStatement)) {
if (some((<Block>func.body).statements, statement => statement.kind === SyntaxKind.SwitchStatement && isExhaustiveSwitchStatement(<SwitchStatement>statement))) {
return false;
}
return true;