diff --git a/lib/tsc.js b/lib/tsc.js index 76115b46b13..179708a761c 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -21050,6 +21050,8 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864) { + var targetValueDeclaration = target.valueDeclaration; + ts.Debug.assert(!!(target.flags & 33554432)); if (source.flags & 512 && target.flags & 512 && target.constEnumOnlyModule && !source.constEnumOnlyModule) { target.constEnumOnlyModule = false; } @@ -21072,12 +21074,13 @@ var ts; } if ((source.flags | target.flags) & 67108864) { var sourceInitializer = ts.getJSInitializerSymbol(source); - var targetInitializer = ts.getJSInitializerSymbol(target); + var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); + var targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & 33554432)) { + var mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & 33554432)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } } diff --git a/lib/tsserver.js b/lib/tsserver.js index 2e701cd4a76..421e5157eaf 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -22486,6 +22486,8 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864) { + var targetValueDeclaration = target.valueDeclaration; + ts.Debug.assert(!!(target.flags & 33554432)); if (source.flags & 512 && target.flags & 512 && target.constEnumOnlyModule && !source.constEnumOnlyModule) { target.constEnumOnlyModule = false; } @@ -22508,12 +22510,13 @@ var ts; } if ((source.flags | target.flags) & 67108864) { var sourceInitializer = ts.getJSInitializerSymbol(source); - var targetInitializer = ts.getJSInitializerSymbol(target); + var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); + var targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & 33554432)) { + var mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & 33554432)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } } diff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js index cf71f6fc8cb..3447beeeeab 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -28241,6 +28241,8 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { + var targetValueDeclaration = target.valueDeclaration; + ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -28266,12 +28268,13 @@ var ts; } if ((source.flags | target.flags) & 67108864 /* JSContainer */) { var sourceInitializer = ts.getJSInitializerSymbol(source); - var targetInitializer = ts.getJSInitializerSymbol(target); + var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); + var targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & 33554432 /* Transient */)) { + var mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } } diff --git a/lib/typescript.js b/lib/typescript.js index c41bc09eb30..a3b39cb824b 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -26204,6 +26204,8 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { + var targetValueDeclaration = target.valueDeclaration; + ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -26229,12 +26231,13 @@ var ts; } if ((source.flags | target.flags) & 67108864 /* JSContainer */) { var sourceInitializer = ts.getJSInitializerSymbol(source); - var targetInitializer = ts.getJSInitializerSymbol(target); + var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); + var targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & 33554432 /* Transient */)) { + var mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } } diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js index c41bc09eb30..a3b39cb824b 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -26204,6 +26204,8 @@ var ts; function mergeSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags)) || (source.flags | target.flags) & 67108864 /* JSContainer */) { + var targetValueDeclaration = target.valueDeclaration; + ts.Debug.assert(!!(target.flags & 33554432 /* Transient */)); // Javascript static-property-assignment declarations always merge, even though they are also values if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { // reset flag when merging instantiated module into value module that has only const enums @@ -26229,12 +26231,13 @@ var ts; } if ((source.flags | target.flags) & 67108864 /* JSContainer */) { var sourceInitializer = ts.getJSInitializerSymbol(source); - var targetInitializer = ts.getJSInitializerSymbol(target); + var init = ts.getDeclaredJavascriptInitializer(targetValueDeclaration) || ts.getAssignedJavascriptInitializer(targetValueDeclaration); + var targetInitializer = init && init.symbol ? init.symbol : target; + if (!(targetInitializer.flags & 33554432 /* Transient */)) { + var mergedInitializer = getMergedSymbol(targetInitializer); + targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; + } if (sourceInitializer !== source || targetInitializer !== target) { - if (!(targetInitializer.flags & 33554432 /* Transient */)) { - var mergedInitializer = getMergedSymbol(targetInitializer); - targetInitializer = mergedInitializer === targetInitializer ? cloneSymbol(targetInitializer) : mergedInitializer; - } mergeSymbol(targetInitializer, sourceInitializer); } }