diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 41e68baa523..51733524699 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -2491,7 +2491,7 @@ namespace ts { const catchVariable = getGeneratedNameForNode(errorRecord); const returnMethod = createTempVariable(/*recordTempVariable*/ undefined); const values = createValuesHelper(context, expression, node.expression); - const next = createCall(createPropertyAccess(iterator, "next" ), /*typeArguments*/ undefined, []); + const next = createCall(createPropertyAccess(iterator, "next"), /*typeArguments*/ undefined, []); hoistVariableDeclaration(errorRecord); hoistVariableDeclaration(returnMethod); diff --git a/src/compiler/transformers/esnext.ts b/src/compiler/transformers/esnext.ts index 11e79ae9eeb..8d71016b051 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -216,7 +216,11 @@ namespace ts { function visitCatchClause(node: CatchClause): CatchClause { if (!node.variableDeclaration) { - return updateCatchClause(node, createVariableDeclaration(createTempVariable(/*recordTempVariable*/ undefined)), node.block); + return updateCatchClause( + node, + createVariableDeclaration(createTempVariable(/*recordTempVariable*/ undefined)), + visitNode(node.block, visitor, isBlock) + ); } return visitEachChild(node, visitor, context); } diff --git a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.js b/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.js deleted file mode 100644 index 0f9254fd3cb..00000000000 --- a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.js +++ /dev/null @@ -1,11 +0,0 @@ -//// [emitter.ignoredCatchParameter.esnext.ts] -function fn() { - try {} catch {} -} - - -//// [emitter.ignoredCatchParameter.esnext.js] -function fn() { - try { } - catch { } -} diff --git a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.symbols b/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.symbols deleted file mode 100644 index 78838a33011..00000000000 --- a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.symbols +++ /dev/null @@ -1,7 +0,0 @@ -=== tests/cases/conformance/emitter/esnext/noCatchParameter/emitter.ignoredCatchParameter.esnext.ts === -function fn() { ->fn : Symbol(fn, Decl(emitter.ignoredCatchParameter.esnext.ts, 0, 0)) - - try {} catch {} -} - diff --git a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.types b/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.types deleted file mode 100644 index 06bf4ab2682..00000000000 --- a/tests/baselines/reference/emitter.ignoredCatchParameter.esnext.types +++ /dev/null @@ -1,7 +0,0 @@ -=== tests/cases/conformance/emitter/esnext/noCatchParameter/emitter.ignoredCatchParameter.esnext.ts === -function fn() { ->fn : () => void - - try {} catch {} -} - diff --git a/tests/cases/conformance/emitter/esnext/noCatchBinding/emitter.noCatchBinding.esnext.ts b/tests/cases/conformance/emitter/esnext/noCatchBinding/emitter.noCatchBinding.esnext.ts new file mode 100644 index 00000000000..8e87b3c8c8f --- /dev/null +++ b/tests/cases/conformance/emitter/esnext/noCatchBinding/emitter.noCatchBinding.esnext.ts @@ -0,0 +1,8 @@ +// @target: esnext +function f() { + try { } catch { } + try { } catch { + try { } catch { } + } + try { } catch { } finally { } +} \ No newline at end of file diff --git a/tests/cases/conformance/statements/tryStatements/tryStatements.ts b/tests/cases/conformance/statements/tryStatements/tryStatements.ts index 3fb395ca0ea..0a47ba7a94b 100644 --- a/tests/cases/conformance/statements/tryStatements/tryStatements.ts +++ b/tests/cases/conformance/statements/tryStatements/tryStatements.ts @@ -2,11 +2,18 @@ function fn() { try { } catch { } + try { } catch { + try { } catch { + try { } catch { } + } + try { } catch { } + } + try { } catch (x) { var x: any; } try { } finally { } try { } catch { } finally { } - try { } catch(z) { } finally { } + try { } catch (z) { } finally { } } \ No newline at end of file