From c798e2109c27d3a4b0c60e37c0a23909d33c36f1 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Tue, 15 May 2018 10:58:04 -0700 Subject: [PATCH] Compare merged targetInitializer to target Instead of the unmerged one --- src/compiler/checker.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index fb326b7f388..dfde210f249 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -898,11 +898,11 @@ namespace ts { const sourceInitializer = getJSInitializerSymbol(source); const init = getDeclaredJavascriptInitializer(targetValueDeclaration) || getAssignedJavascriptInitializer(targetValueDeclaration); let targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & SymbolFlags.Transient)) { + const mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & SymbolFlags.Transient)) { - const mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } }