Skip to content

Commit e479a9f

Browse files
author
Ben Lichtman
committed
Respond to CR
1 parent 8c18c76 commit e479a9f

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

src/server/project.ts

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -805,17 +805,9 @@ namespace ts.server {
805805

806806
/* @internal */
807807
getFileNamesWithRedirectInfo(includeProjectReferenceRedirectInfo: boolean) {
808-
const fileNames = this.getFileNames();
809-
if (includeProjectReferenceRedirectInfo) {
810-
return fileNames.map((fileName): protocol.FileWithProjectReferenceRedirectInfo => ({
811-
fileName,
812-
isSourceOfProjectReferenceRedirect: this.isSourceOfProjectReferenceRedirect(fileName)
813-
}));
814-
}
815-
816-
return fileNames.map((fileName): protocol.FileWithProjectReferenceRedirectInfo => ({
808+
return this.getFileNames().map((fileName): protocol.FileWithProjectReferenceRedirectInfo => ({
817809
fileName,
818-
isSourceOfProjectReferenceRedirect: false
810+
isSourceOfProjectReferenceRedirect: includeProjectReferenceRedirectInfo && this.isSourceOfProjectReferenceRedirect(fileName)
819811
}));
820812
}
821813

@@ -1319,9 +1311,9 @@ namespace ts.server {
13191311
getChangesSinceVersion(lastKnownVersion?: number, includeProjectReferenceRedirectInfo?: boolean): ProjectFilesWithTSDiagnostics {
13201312
const includeProjectReferenceRedirectInfoIfRequested =
13211313
includeProjectReferenceRedirectInfo
1322-
? (files: Map<boolean>) => arrayFrom(files.keys(), (fileName: string): protocol.FileWithProjectReferenceRedirectInfo => ({
1314+
? (files: Map<boolean>) => arrayFrom(files.entries(), ([fileName, isSourceOfProjectReferenceRedirect]): protocol.FileWithProjectReferenceRedirectInfo => ({
13231315
fileName,
1324-
isSourceOfProjectReferenceRedirect: files.get(fileName)! // fileName guaranteed to be in files
1316+
isSourceOfProjectReferenceRedirect
13251317
}))
13261318
: (files: Map<boolean>) => arrayFrom(files.keys());
13271319

@@ -1364,20 +1356,20 @@ namespace ts.server {
13641356
const updated: string[] = updatedFileNames ? arrayFrom(updatedFileNames.keys()) : [];
13651357
const updatedRedirects: protocol.FileWithProjectReferenceRedirectInfo[] = [];
13661358

1367-
forEachKey(currentFiles, id => {
1368-
if (!lastReportedFileNames.has(id)) {
1369-
added.set(id, currentFiles.get(id)!); // id guaranteed to be in currentFiles
1359+
forEachEntry(currentFiles, (isSourceOfProjectReferenceRedirect, fileName) => {
1360+
if (!lastReportedFileNames.has(fileName)) {
1361+
added.set(fileName, isSourceOfProjectReferenceRedirect);
13701362
}
1371-
else if (includeProjectReferenceRedirectInfo && lastReportedFileNames.get(id) !== currentFiles.get(id)){
1363+
else if (includeProjectReferenceRedirectInfo && isSourceOfProjectReferenceRedirect !== lastReportedFileNames.get(fileName)){
13721364
updatedRedirects.push({
1373-
fileName: id,
1374-
isSourceOfProjectReferenceRedirect: currentFiles.get(id)! // id guaranteed to be in currentFiles
1365+
fileName,
1366+
isSourceOfProjectReferenceRedirect
13751367
});
13761368
}
13771369
});
1378-
forEachKey(lastReportedFileNames, id => {
1379-
if (!currentFiles.has(id)) {
1380-
removed.set(id, lastReportedFileNames.get(id)!); // id guaranteed to be in lastReportedFileNames
1370+
forEachEntry(lastReportedFileNames, (isSourceOfProjectReferenceRedirect, fileName) => {
1371+
if (!currentFiles.has(fileName)) {
1372+
removed.set(fileName, isSourceOfProjectReferenceRedirect);
13811373
}
13821374
});
13831375
this.lastReportedFileNames = currentFiles;
@@ -1407,7 +1399,7 @@ namespace ts.server {
14071399
}));
14081400
const allFiles = projectFileNames.concat(externalFiles);
14091401
this.lastReportedFileNames = arrayToMap(
1410-
projectFileNames.concat(externalFiles),
1402+
allFiles,
14111403
info => info.fileName,
14121404
info => info.isSourceOfProjectReferenceRedirect
14131405
);

0 commit comments

Comments
 (0)