diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 0b17d95ac2b..cd08e592be8 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -357,14 +357,6 @@ module ts { forEachChild(sourceFile, walk); } - export function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[] { - if (!sourceFile.syntacticDiagnostics) { - sourceFile.syntacticDiagnostics = sourceFile.referenceDiagnostics.concat(sourceFile.parseDiagnostics); - } - - return sourceFile.syntacticDiagnostics; - } - function moveElementEntirelyPastChangeRange(element: IncrementalElement, delta: number) { if (element.length) { visitArray(element); @@ -880,7 +872,6 @@ module ts { sourceFile.end = sourceText.length; sourceFile.text = sourceText; - sourceFile.referenceDiagnostics = []; sourceFile.parseDiagnostics = []; sourceFile.bindDiagnostics = []; sourceFile.languageVersion = languageVersion; @@ -4698,7 +4689,7 @@ module ts { referencedFiles.push(fileReference); } if (diagnosticMessage) { - sourceFile.referenceDiagnostics.push(createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); + sourceFile.parseDiagnostics.push(createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); } } else { @@ -4706,7 +4697,7 @@ module ts { var amdModuleNameMatchResult = amdModuleNameRegEx.exec(comment); if (amdModuleNameMatchResult) { if (amdModuleName) { - sourceFile.referenceDiagnostics.push(createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); + sourceFile.parseDiagnostics.push(createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); } amdModuleName = amdModuleNameMatchResult[2]; } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index ee41e9c4ba7..588ac3ac789 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -225,13 +225,17 @@ module ts { } function getSyntacticDiagnostics(sourceFile?: SourceFile): Diagnostic[]{ - return getDiagnosticsHelper(sourceFile, ts.getSyntacticDiagnostics); + return getDiagnosticsHelper(sourceFile, getSyntacticDiagnosticsForFile); } function getSemanticDiagnostics(sourceFile?: SourceFile): Diagnostic[]{ return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile); } + function getSyntacticDiagnosticsForFile(sourceFile: SourceFile): Diagnostic[] { + return sourceFile.parseDiagnostics; + } + function getSemanticDiagnosticsForFile(sourceFile: SourceFile): Diagnostic[] { var typeChecker = getDiagnosticsProducingTypeChecker(); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 75cee5e7314..8a5822f3266 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -902,20 +902,13 @@ module ts { /* @internal */ identifierCount: number; /* @internal */ symbolCount: number; - // Diagnostics reported about the "///(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; @@ -1473,7 +1472,6 @@ declare module "typescript" { getLineAndCharacterFromPosition(pos: number): LineAndCharacter; getLineStarts(): number[]; getPositionFromLineAndCharacter(line: number, character: number): number; - getSyntacticDiagnostics(): Diagnostic[]; update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index e5ac6de7c10..e5d69bbcfd2 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -4493,12 +4493,6 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; ->getSyntacticDiagnostics : (sourceFile: SourceFile) => Diagnostic[] ->sourceFile : SourceFile ->SourceFile : SourceFile ->Diagnostic : Diagnostic - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; >updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile >sourceFile : SourceFile @@ -4755,10 +4749,6 @@ declare module "typescript" { >line : number >character : number - getSyntacticDiagnostics(): Diagnostic[]; ->getSyntacticDiagnostics : () => Diagnostic[] ->Diagnostic : Diagnostic - update(newText: string, textChangeRange: TextChangeRange): SourceFile; >update : (newText: string, textChangeRange: TextChangeRange) => SourceFile >newText : string diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index b84bcdb33fd..6edb6399bf9 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -1439,7 +1439,6 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; @@ -1505,7 +1504,6 @@ declare module "typescript" { getLineAndCharacterFromPosition(pos: number): LineAndCharacter; getLineStarts(): number[]; getPositionFromLineAndCharacter(line: number, character: number): number; - getSyntacticDiagnostics(): Diagnostic[]; update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 798d41e70ee..4ce2c4d92db 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -4640,12 +4640,6 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; ->getSyntacticDiagnostics : (sourceFile: SourceFile) => Diagnostic[] ->sourceFile : SourceFile ->SourceFile : SourceFile ->Diagnostic : Diagnostic - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; >updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile >sourceFile : SourceFile @@ -4902,10 +4896,6 @@ declare module "typescript" { >line : number >character : number - getSyntacticDiagnostics(): Diagnostic[]; ->getSyntacticDiagnostics : () => Diagnostic[] ->Diagnostic : Diagnostic - update(newText: string, textChangeRange: TextChangeRange): SourceFile; >update : (newText: string, textChangeRange: TextChangeRange) => SourceFile >newText : string diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 4b235f25df3..023e3c5fa06 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -1440,7 +1440,6 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; @@ -1506,7 +1505,6 @@ declare module "typescript" { getLineAndCharacterFromPosition(pos: number): LineAndCharacter; getLineStarts(): number[]; getPositionFromLineAndCharacter(line: number, character: number): number; - getSyntacticDiagnostics(): Diagnostic[]; update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 6a149ddbae3..445cd50a205 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -4592,12 +4592,6 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; ->getSyntacticDiagnostics : (sourceFile: SourceFile) => Diagnostic[] ->sourceFile : SourceFile ->SourceFile : SourceFile ->Diagnostic : Diagnostic - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; >updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile >sourceFile : SourceFile @@ -4854,10 +4848,6 @@ declare module "typescript" { >line : number >character : number - getSyntacticDiagnostics(): Diagnostic[]; ->getSyntacticDiagnostics : () => Diagnostic[] ->Diagnostic : Diagnostic - update(newText: string, textChangeRange: TextChangeRange): SourceFile; >update : (newText: string, textChangeRange: TextChangeRange) => SourceFile >newText : string diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 8c53f252843..9bdd3d71d07 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1477,7 +1477,6 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; @@ -1543,7 +1542,6 @@ declare module "typescript" { getLineAndCharacterFromPosition(pos: number): LineAndCharacter; getLineStarts(): number[]; getPositionFromLineAndCharacter(line: number, character: number): number; - getSyntacticDiagnostics(): Diagnostic[]; update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 8a1f4aa259d..1c4efc7b5db 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -4766,12 +4766,6 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function getSyntacticDiagnostics(sourceFile: SourceFile): Diagnostic[]; ->getSyntacticDiagnostics : (sourceFile: SourceFile) => Diagnostic[] ->sourceFile : SourceFile ->SourceFile : SourceFile ->Diagnostic : Diagnostic - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; >updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile >sourceFile : SourceFile @@ -5028,10 +5022,6 @@ declare module "typescript" { >line : number >character : number - getSyntacticDiagnostics(): Diagnostic[]; ->getSyntacticDiagnostics : () => Diagnostic[] ->Diagnostic : Diagnostic - update(newText: string, textChangeRange: TextChangeRange): SourceFile; >update : (newText: string, textChangeRange: TextChangeRange) => SourceFile >newText : string diff --git a/tests/cases/unittests/incrementalParser.ts b/tests/cases/unittests/incrementalParser.ts index 1b5e1a665ab..7c4213e22c2 100644 --- a/tests/cases/unittests/incrementalParser.ts +++ b/tests/cases/unittests/incrementalParser.ts @@ -24,8 +24,8 @@ module ts { } function assertSameDiagnostics(file1: SourceFile, file2: SourceFile) { - var diagnostics1 = getSyntacticDiagnostics(file1); - var diagnostics2 = getSyntacticDiagnostics(file2); + var diagnostics1 = file1.parseDiagnostics; + var diagnostics2 = file2.parseDiagnostics; assert.equal(diagnostics1.length, diagnostics2.length, "diagnostics1.length !== diagnostics2.length"); for (var i = 0, n = diagnostics1.length; i < n; i++) {