From 9960780c30856a69720c7ed6d3f1772a5b393d9f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 15 Dec 2018 10:46:57 -0500 Subject: [PATCH] add braces around instrumented if blocks in template --- src/compile/nodes/shared/Expression.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compile/nodes/shared/Expression.ts b/src/compile/nodes/shared/Expression.ts index 30c6ccbc34..23fe9c0646 100644 --- a/src/compile/nodes/shared/Expression.ts +++ b/src/compile/nodes/shared/Expression.ts @@ -276,7 +276,7 @@ export default class Expression { } }, - leave(node: Node) { + leave(node: Node, parent: Node) { if (map.has(node)) scope = scope.parent; if (node === function_expression) { @@ -373,6 +373,9 @@ export default class Expression { } else { code.prependRight(node.start, `${insert}; `); } + } else if (parent && /(If|For(In|Of)?|While)Statement/.test(parent.type) && node.type !== 'BlockStatement') { + code.prependRight(node.start, '{ '); + code.appendLeft(node.end, `${code.original[node.end - 1] === ';' ? '' : ';'} ${insert}; }`); } else { code.appendLeft(node.end, `; ${insert}`); }