From 72eebdb4d433cb355763294a86c530dada37740d Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 2 Mar 2016 15:50:18 -0800 Subject: [PATCH] Switched to onEmitNode --- src/compiler/transformers/module/system.ts | 34 ++++++++++------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 4adc37dbc41..e5d3dad0a7d 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -35,7 +35,6 @@ namespace ts { let contextObjectForFile: Identifier; let exportedLocalNames: Identifier[]; let exportedFunctionDeclarations: ExpressionStatement[]; - const noSubstitution: Map = {}; return transformSourceFile; @@ -921,24 +920,23 @@ namespace ts { } function substituteAssignmentExpression(node: BinaryExpression): Expression { - if (!noSubstitution[getNodeId(node)]) { - noSubstitution[getNodeId(node)] = true; - const left = node.left; - switch (left.kind) { - case SyntaxKind.Identifier: - const exportDeclaration = resolver.getReferencedExportContainer(left); - if (exportDeclaration) { - return createExportExpression(left, node); - } - break; + setNodeEmitFlags(node, NodeEmitFlags.NoSubstitution); - case SyntaxKind.ObjectLiteralExpression: - case SyntaxKind.ArrayLiteralExpression: - if (hasExportedReferenceInDestructuringPattern(left)) { - return substituteDestructuring(node); - } - break; - } + const left = node.left; + switch (left.kind) { + case SyntaxKind.Identifier: + const exportDeclaration = resolver.getReferencedExportContainer(left); + if (exportDeclaration) { + return createExportExpression(left, node); + } + break; + + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.ArrayLiteralExpression: + if (hasExportedReferenceInDestructuringPattern(left)) { + return substituteDestructuring(node); + } + break; } return node;