Skip to content

Commit 80224d2

Browse files
committed
Fix issue with emit flag reset in param initializers.
1 parent e47c94e commit 80224d2

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/compiler/transformer.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,12 @@ namespace ts {
210210
* Sets flags that control emit behavior of a node.
211211
*/
212212
function setNodeEmitFlags<T extends Node>(node: T, flags: NodeEmitFlags) {
213-
getEmitOptions(node, /*create*/ true).flags = flags;
213+
const options = getEmitOptions(node, /*create*/ true);
214+
if (flags & NodeEmitFlags.Merge) {
215+
flags = options.flags | (flags & ~NodeEmitFlags.Merge);
216+
}
217+
218+
options.flags = flags;
214219
return node;
215220
}
216221

src/compiler/transformers/es6.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ namespace ts {
959959
createStatement(
960960
createAssignment(
961961
setNodeEmitFlags(getMutableClone(name), NodeEmitFlags.NoSourceMap),
962-
setNodeEmitFlags(visitNode(initializer, visitor, isExpression), NodeEmitFlags.NoSourceMap),
962+
setNodeEmitFlags(visitNode(initializer, visitor, isExpression), NodeEmitFlags.NoSourceMap | NodeEmitFlags.Merge),
963963
/*location*/ parameter
964964
)
965965
)

0 commit comments

Comments
 (0)