@@ -17529,6 +17529,7 @@ var ts;
1752917529 function isDeclarationFileName(fileName) {
1753017530 return ts.fileExtensionIs(fileName, ".d.ts");
1753117531 }
17532+ ts.isDeclarationFileName = isDeclarationFileName;
1753217533 function processCommentPragmas(context, sourceText) {
1753317534 var triviaScanner = ts.createScanner(context.languageVersion, false, 0, sourceText);
1753417535 var pragmas = [];
@@ -25567,17 +25568,25 @@ var ts;
2556725568 function getParentOfSymbol(symbol) {
2556825569 return getMergedSymbol(symbol.parent && getLateBoundSymbol(symbol.parent));
2556925570 }
25570- function getContainerOfSymbol (symbol) {
25571+ function getContainersOfSymbol (symbol, enclosingDeclaration ) {
2557125572 var container = getParentOfSymbol(symbol);
2557225573 if (container) {
25573- return container;
25574+ var additionalContainers = ts.mapDefined(container.declarations, fileSymbolIfFileSymbolExportEqualsContainer);
25575+ if (enclosingDeclaration && getAccessibleSymbolChain(container, enclosingDeclaration, 1920, false)) {
25576+ return ts.concatenate([container], additionalContainers);
25577+ }
25578+ return ts.append(additionalContainers, container);
2557425579 }
25575- var candidate = ts.forEach (symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; });
25576- if (!candidate ) {
25580+ var candidates = ts.mapDefined (symbol.declarations, function (d) { return !ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent) ? getSymbolOfNode(d.parent) : undefined; });
25581+ if (!ts.length(candidates) ) {
2557725582 return undefined;
2557825583 }
25579- var alias = getAliasForSymbolInContainer(candidate, symbol);
25580- return alias ? candidate : undefined;
25584+ return ts.mapDefined(candidates, function (candidate) { return getAliasForSymbolInContainer(candidate, symbol) ? candidate : undefined; });
25585+ function fileSymbolIfFileSymbolExportEqualsContainer(d) {
25586+ var fileSymbol = getExternalModuleContainer(d);
25587+ var exported = fileSymbol && fileSymbol.exports && fileSymbol.exports.get("export=");
25588+ return resolveSymbol(exported) === resolveSymbol(container) ? fileSymbol : undefined;
25589+ }
2558125590 }
2558225591 function getAliasForSymbolInContainer(container, symbol) {
2558325592 if (container === getParentOfSymbol(symbol)) {
@@ -25801,54 +25810,67 @@ var ts;
2580125810 var access = isSymbolAccessible(typeSymbol, enclosingDeclaration, 67216319, false);
2580225811 return access.accessibility === 0;
2580325812 }
25804- function isSymbolAccessible(symbol, enclosingDeclaration, meaning, shouldComputeAliasesToMakeVisible) {
25805- if (symbol && enclosingDeclaration) {
25806- var initialSymbol = symbol;
25807- var meaningToLook = meaning;
25808- while (symbol) {
25809- var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaningToLook, false);
25810- if (accessibleSymbolChain) {
25811- var hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0], shouldComputeAliasesToMakeVisible);
25812- if (!hasAccessibleDeclarations) {
25813- return {
25814- accessibility: 1,
25815- errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning),
25816- errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, 1920) : undefined,
25817- };
25818- }
25813+ function isAnySymbolAccessible(symbols, enclosingDeclaration, initialSymbol, meaning, shouldComputeAliasesToMakeVisible) {
25814+ if (!ts.length(symbols))
25815+ return;
25816+ var hadAccessibleChain;
25817+ for (var _i = 0, _a = symbols; _i < _a.length; _i++) {
25818+ var symbol = _a[_i];
25819+ var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, false);
25820+ if (accessibleSymbolChain) {
25821+ hadAccessibleChain = symbol;
25822+ var hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0], shouldComputeAliasesToMakeVisible);
25823+ if (hasAccessibleDeclarations) {
2581925824 return hasAccessibleDeclarations;
2582025825 }
25821- else {
25822- if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
25823- return {
25824- accessibility: 0
25825- };
25826- }
25826+ }
25827+ else {
25828+ if (ts.some(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
25829+ return {
25830+ accessibility: 0
25831+ };
2582725832 }
25828- meaningToLook = getQualifiedLeftMeaning(meaning);
25829- symbol = getContainerOfSymbol(symbol);
2583025833 }
25831- var symbolExternalModule = ts.forEach(initialSymbol.declarations, getExternalModuleContainer);
25834+ var parentResult = isAnySymbolAccessible(getContainersOfSymbol(symbol, enclosingDeclaration), enclosingDeclaration, initialSymbol, initialSymbol === symbol ? getQualifiedLeftMeaning(meaning) : meaning, shouldComputeAliasesToMakeVisible);
25835+ if (parentResult) {
25836+ return parentResult;
25837+ }
25838+ }
25839+ if (hadAccessibleChain) {
25840+ return {
25841+ accessibility: 1,
25842+ errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning),
25843+ errorModuleName: hadAccessibleChain !== initialSymbol ? symbolToString(hadAccessibleChain, enclosingDeclaration, 1920) : undefined,
25844+ };
25845+ }
25846+ }
25847+ function isSymbolAccessible(symbol, enclosingDeclaration, meaning, shouldComputeAliasesToMakeVisible) {
25848+ if (symbol && enclosingDeclaration) {
25849+ var result = isAnySymbolAccessible([symbol], enclosingDeclaration, symbol, meaning, shouldComputeAliasesToMakeVisible);
25850+ if (result) {
25851+ return result;
25852+ }
25853+ var symbolExternalModule = ts.forEach(symbol.declarations, getExternalModuleContainer);
2583225854 if (symbolExternalModule) {
2583325855 var enclosingExternalModule = getExternalModuleContainer(enclosingDeclaration);
2583425856 if (symbolExternalModule !== enclosingExternalModule) {
2583525857 return {
2583625858 accessibility: 2,
25837- errorSymbolName: symbolToString(initialSymbol , enclosingDeclaration, meaning),
25859+ errorSymbolName: symbolToString(symbol , enclosingDeclaration, meaning),
2583825860 errorModuleName: symbolToString(symbolExternalModule)
2583925861 };
2584025862 }
2584125863 }
2584225864 return {
2584325865 accessibility: 1,
25844- errorSymbolName: symbolToString(initialSymbol , enclosingDeclaration, meaning),
25866+ errorSymbolName: symbolToString(symbol , enclosingDeclaration, meaning),
2584525867 };
2584625868 }
2584725869 return { accessibility: 0 };
25848- function getExternalModuleContainer(declaration) {
25849- var node = ts.findAncestor (declaration, hasExternalModuleSymbol);
25850- return node && getSymbolOfNode(node );
25851- }
25870+ }
25871+ function getExternalModuleContainer (declaration) {
25872+ var node = ts.findAncestor(declaration, hasExternalModuleSymbol );
25873+ return node && getSymbolOfNode(node);
2585225874 }
2585325875 function hasExternalModuleSymbol(declaration) {
2585425876 return ts.isAmbientModule(declaration) || (declaration.kind === 277 && ts.isExternalOrCommonJsModule(declaration));
@@ -26580,24 +26602,28 @@ var ts;
2658026602 return chain;
2658126603 function getSymbolChain(symbol, meaning, endOfChain) {
2658226604 var accessibleSymbolChain = getAccessibleSymbolChain(symbol, context.enclosingDeclaration, meaning, !!(context.flags & 128));
26583- var parentSymbol;
2658426605 if (!accessibleSymbolChain ||
2658526606 needsQualification(accessibleSymbolChain[0], context.enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) {
26586- var parent = getContainerOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol);
26587- if (parent) {
26588- var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), false);
26589- if (parentChain) {
26590- parentSymbol = parent;
26591- accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]);
26607+ var parents = getContainersOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol, context.enclosingDeclaration);
26608+ if (ts.length(parents)) {
26609+ for (var _i = 0, _a = parents; _i < _a.length; _i++) {
26610+ var parent = _a[_i];
26611+ var parentChain = getSymbolChain(parent, getQualifiedLeftMeaning(meaning), false);
26612+ if (parentChain) {
26613+ accessibleSymbolChain = parentChain.concat(accessibleSymbolChain || [getAliasForSymbolInContainer(parent, symbol) || symbol]);
26614+ break;
26615+ }
2659226616 }
2659326617 }
2659426618 }
2659526619 if (accessibleSymbolChain) {
2659626620 return accessibleSymbolChain;
2659726621 }
2659826622 if (endOfChain ||
26599- (yieldModuleSymbol || !(!parentSymbol && ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol))) &&
26600- !(symbol.flags & (2048 | 4096))) {
26623+ !(symbol.flags & (2048 | 4096))) {
26624+ if (!endOfChain && !yieldModuleSymbol && !!ts.forEach(symbol.declarations, hasNonGlobalAugmentationExternalModuleSymbol)) {
26625+ return;
26626+ }
2660126627 return [symbol];
2660226628 }
2660326629 }
@@ -27046,7 +27072,7 @@ var ts;
2704627072 return !!target.resolvedReturnType;
2704727073 }
2704827074 if (propertyName === 4) {
27049- var bc = target.resolvedBaseConstraint ;
27075+ var bc = target.immediateBaseConstraint ;
2705027076 return !!bc && bc !== circularConstraintType;
2705127077 }
2705227078 return ts.Debug.fail("Unhandled TypeSystemPropertyName " + propertyName);
@@ -29137,15 +29163,21 @@ var ts;
2913729163 }
2913829164 return type.resolvedBaseConstraint;
2913929165 function getBaseConstraint(t) {
29166+ if (t.immediateBaseConstraint) {
29167+ return t.immediateBaseConstraint === noConstraintType ? undefined : t.immediateBaseConstraint;
29168+ }
2914029169 if (!pushTypeResolution(t, 4)) {
2914129170 circular = true;
29171+ t.immediateBaseConstraint = circularConstraintType;
2914229172 return undefined;
2914329173 }
2914429174 var result = computeBaseConstraint(getSimplifiedType(t));
2914529175 if (!popTypeResolution()) {
2914629176 circular = true;
29177+ t.immediateBaseConstraint = circularConstraintType;
2914729178 return undefined;
2914829179 }
29180+ t.immediateBaseConstraint = !result ? noConstraintType : result;
2914929181 return result;
2915029182 }
2915129183 function computeBaseConstraint(t) {
0 commit comments