@@ -35,7 +35,6 @@ namespace ts {
35
35
let contextObjectForFile : Identifier ;
36
36
let exportedLocalNames : Identifier [ ] ;
37
37
let exportedFunctionDeclarations : ExpressionStatement [ ] ;
38
- const noSubstitution : Map < boolean > = { } ;
39
38
40
39
return transformSourceFile ;
41
40
@@ -921,24 +920,23 @@ namespace ts {
921
920
}
922
921
923
922
function substituteAssignmentExpression ( node : BinaryExpression ) : Expression {
924
- if ( ! noSubstitution [ getNodeId ( node ) ] ) {
925
- noSubstitution [ getNodeId ( node ) ] = true ;
926
- const left = node . left ;
927
- switch ( left . kind ) {
928
- case SyntaxKind . Identifier :
929
- const exportDeclaration = resolver . getReferencedExportContainer ( < Identifier > left ) ;
930
- if ( exportDeclaration ) {
931
- return createExportExpression ( < Identifier > left , node ) ;
932
- }
933
- break ;
923
+ setNodeEmitFlags ( node , NodeEmitFlags . NoSubstitution ) ;
934
924
935
- case SyntaxKind . ObjectLiteralExpression :
936
- case SyntaxKind . ArrayLiteralExpression :
937
- if ( hasExportedReferenceInDestructuringPattern ( < ObjectLiteralExpression | ArrayLiteralExpression > left ) ) {
938
- return substituteDestructuring ( node ) ;
939
- }
940
- break ;
941
- }
925
+ const left = node . left ;
926
+ switch ( left . kind ) {
927
+ case SyntaxKind . Identifier :
928
+ const exportDeclaration = resolver . getReferencedExportContainer ( < Identifier > left ) ;
929
+ if ( exportDeclaration ) {
930
+ return createExportExpression ( < Identifier > left , node ) ;
931
+ }
932
+ break ;
933
+
934
+ case SyntaxKind . ObjectLiteralExpression :
935
+ case SyntaxKind . ArrayLiteralExpression :
936
+ if ( hasExportedReferenceInDestructuringPattern ( < ObjectLiteralExpression | ArrayLiteralExpression > left ) ) {
937
+ return substituteDestructuring ( node ) ;
938
+ }
939
+ break ;
942
940
}
943
941
944
942
return node ;
0 commit comments