@@ -28241,6 +28241,8 @@ var ts;
2824128241 function mergeSymbol(target, source) {
2824228242 if (!(target.flags & getExcludedSymbolFlags(source.flags)) ||
2824328243 (source.flags | target.flags) & 67108864 /* JSContainer */) {
28244+ var targetValueDeclaration = target.valueDeclaration;
28245+ ts.Debug.assert(!!(target.flags & 33554432 /* Transient */));
2824428246 // Javascript static-property-assignment declarations always merge, even though they are also values
2824528247 if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) {
2824628248 // reset flag when merging instantiated module into value module that has only const enums
@@ -28266,12 +28268,13 @@ var ts;
2826628268 }
2826728269 if ((source.flags | target.flags) & 67108864 /* JSContainer */) {
2826828270 var sourceInitializer = ts.getJSInitializerSymbol(source);
28269- var targetInitializer = ts.getJSInitializerSymbol(target);
28271+ var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration);
28272+ var targetInitializer = init && init.symbol ? init.symbol : target;
28273+ if (!(targetInitializer.flags & 33554432 /* Transient */)) {
28274+ var mergedInitializer = getMergedSymbol(targetInitializer);
28275+ targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer;
28276+ }
2827028277 if (sourceInitializer !== source || targetInitializer !== target) {
28271- if (!(targetInitializer.flags & 33554432 /* Transient */)) {
28272- var mergedInitializer = getMergedSymbol(targetInitializer);
28273- targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer;
28274- }
2827528278 mergeSymbol(targetInitializer, sourceInitializer);
2827628279 }
2827728280 }
0 commit comments