Skip to content

Commit 360d332

Browse files
author
Yui T
committed
Address code-review comments
1 parent b08cd8c commit 360d332

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/services/services.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,7 +1651,7 @@ module ts {
16511651
return program.getDiagnostics(getSourceFile(filename).getSourceFile());
16521652
}
16531653

1654-
// In a case when '-d' is not enabled, only report semantic errors
1654+
// getSemanticDiagnostiscs return array of Diagnostics. If '-d' is not enabled, only report semantic errors
16551655
// If '-d' enabled, report both semantic and emitter errors
16561656
function getSemanticDiagnostics(filename: string) {
16571657
synchronizeHostData();
@@ -1661,16 +1661,17 @@ module ts {
16611661
var checker = getFullTypeCheckChecker();
16621662
var targetSourceFile = getSourceFile(filename);
16631663

1664-
// Only perform the action per file regardless off '-out' flag
1665-
// As an errors message in Visual Studio will maintain an error message life-time per file
1664+
// Only perform the action per file regardless of '-out' flag as LanguageServiceHost is expected to call this function per file.
1665+
// Therefore only get diagnostics for given file.
16661666

16671667
var allDiagnostics = checker.getDiagnostics(targetSourceFile);
16681668
if (compilerOptions.declaration) {
1669-
// If '-d' is enabled, check for emitter error which requires calling to TypeChecker.emitFiles
1670-
// Define CompilerHost.writer which does nothing as this is a side effect of emitFiles
1669+
// If '-d' is enabled, check for emitter error. One example of emitter error is export class implements non-export interface
1670+
// Get emitter-diagnostics requires calling TypeChecker.emitFiles so define CompilerHost.writer which does nothing as this is a side effect of emitFiles
1671+
var savedWriter = writer;
16711672
writer = (filename: string, data: string, writeByteOrderMark: boolean) => { };
16721673
allDiagnostics = allDiagnostics.concat(checker.emitFiles(targetSourceFile).errors);
1673-
writer = undefined;
1674+
writer = savedWriter;
16741675
}
16751676
return allDiagnostics
16761677
}

tests/cases/fourslash/getSemanticDiagnosticForNoDeclaration.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
//// interface privateInterface {}
44
//// export class Bar implements /*1*/privateInterface/*2*/{ }
55

6-
debugger
76
verify.numberOfErrorsInCurrentFile(0);
87

98

0 commit comments

Comments
 (0)