@@ -28241,6 +28241,8 @@ var ts;
28241
28241
function mergeSymbol(target, source) {
28242
28242
if (!(target.flags & getExcludedSymbolFlags(source.flags)) ||
28243
28243
(source.flags | target.flags) & 67108864 /* JSContainer */) {
28244
+ var targetValueDeclaration = target.valueDeclaration;
28245
+ ts.Debug.assert(!!(target.flags & 33554432 /* Transient */));
28244
28246
// Javascript static-property-assignment declarations always merge, even though they are also values
28245
28247
if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) {
28246
28248
// reset flag when merging instantiated module into value module that has only const enums
@@ -28266,12 +28268,13 @@ var ts;
28266
28268
}
28267
28269
if ((source.flags | target.flags) & 67108864 /* JSContainer */) {
28268
28270
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
+ }
28270
28277
if (sourceInitializer !== source || targetInitializer !== target) {
28271
- if (!(targetInitializer.flags & 33554432 /* Transient */)) {
28272
- var mergedInitializer = getMergedSymbol(targetInitializer);
28273
- targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer;
28274
- }
28275
28278
mergeSymbol(targetInitializer, sourceInitializer);
28276
28279
}
28277
28280
}
0 commit comments