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); } }