Skip to content

Commit df58836

Browse files
authored
Use proper type for result of resultModuleNamesReusingOldState (#50012)
1 parent a4507c9 commit df58836

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/compiler/program.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,7 +1492,7 @@ namespace ts {
14921492
return classifiableNames;
14931493
}
14941494

1495-
function resolveModuleNamesReusingOldState(moduleNames: string[], file: SourceFile): readonly ResolvedModuleFull[] {
1495+
function resolveModuleNamesReusingOldState(moduleNames: string[], file: SourceFile): readonly (ResolvedModuleFull | undefined)[] {
14961496
if (structureIsReused === StructureIsReused.Not && !file.ambientModuleNames.length) {
14971497
// If the old program state does not permit reusing resolutions and `file` does not contain locally defined ambient modules,
14981498
// the best we can do is fallback to the default logic.
@@ -1509,10 +1509,10 @@ namespace ts {
15091509
// which per above occurred during the current program creation.
15101510
// Since we assume the filesystem does not change during program creation,
15111511
// it is safe to reuse resolutions from the earlier call.
1512-
const result: ResolvedModuleFull[] = [];
1512+
const result: (ResolvedModuleFull | undefined)[] = [];
15131513
let i = 0;
15141514
for (const moduleName of moduleNames) {
1515-
const resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i))!;
1515+
const resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
15161516
i++;
15171517
result.push(resolvedModule);
15181518
}
@@ -1534,7 +1534,7 @@ namespace ts {
15341534
* Needs to be reset to undefined before returning,
15351535
* * ResolvedModuleFull instance: can be reused.
15361536
*/
1537-
let result: ResolvedModuleFull[] | undefined;
1537+
let result: (ResolvedModuleFull | undefined)[] | undefined;
15381538
let reusedNames: string[] | undefined;
15391539
/** A transient placeholder used to mark predicted resolution in the result list. */
15401540
const predictedToResolveToAmbientModuleMarker: ResolvedModuleFull = {} as any;
@@ -1602,7 +1602,7 @@ namespace ts {
16021602
// `result[i]` is either a `ResolvedModuleFull` or a marker.
16031603
// If it is the former, we can leave it as is.
16041604
if (result[i] === predictedToResolveToAmbientModuleMarker) {
1605-
result[i] = undefined!; // TODO: GH#18217
1605+
result[i] = undefined;
16061606
}
16071607
}
16081608
else {

src/compiler/utilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ namespace ts {
162162
return sourceFile && sourceFile.resolvedModules && sourceFile.resolvedModules.get(moduleNameText, mode);
163163
}
164164

165-
export function setResolvedModule(sourceFile: SourceFile, moduleNameText: string, resolvedModule: ResolvedModuleFull, mode: ModuleKind.CommonJS | ModuleKind.ESNext | undefined): void {
165+
export function setResolvedModule(sourceFile: SourceFile, moduleNameText: string, resolvedModule: ResolvedModuleFull | undefined, mode: ModuleKind.CommonJS | ModuleKind.ESNext | undefined): void {
166166
if (!sourceFile.resolvedModules) {
167167
sourceFile.resolvedModules = createModeAwareCache();
168168
}

0 commit comments

Comments
 (0)