From 816467ceead8e6fab055ac788a0c0c018eaad30d Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Thu, 24 Mar 2016 17:21:09 -0700 Subject: [PATCH] Elides functions with invalid bodies. --- src/compiler/transformers/ts.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 922a56697ae..19e317b6cba 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -1903,6 +1903,10 @@ namespace ts { * @param node The function expression node. */ function visitFunctionExpression(node: FunctionExpression) { + if (nodeIsMissing(node.body)) { + return createNode(SyntaxKind.OmittedExpression); + } + return createFunctionExpression( node.asteriskToken, node.name, @@ -1919,7 +1923,7 @@ namespace ts { * @param node The declaration node. */ function shouldElideFunctionLikeDeclaration(node: FunctionLikeDeclaration) { - return node.body === undefined + return nodeIsMissing(node.body) || hasModifier(node, ModifierFlags.Abstract | ModifierFlags.Ambient); }