Skip to content

Commit 31eae88

Browse files
committed
Switch to createCompilerDiagnostic for an invalid root file
1 parent 50b0516 commit 31eae88

File tree

6 files changed

+65
-3
lines changed

6 files changed

+65
-3
lines changed

src/compiler/parser.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3686,17 +3686,28 @@ module ts {
36863686
var start = refPos;
36873687
var length = refEnd - refPos;
36883688
}
3689+
var diagnostic: DiagnosticMessage;
36893690
if (hasExtension(filename)) {
36903691
if (!fileExtensionIs(filename, ".ts")) {
3691-
errors.push(createFileDiagnostic(refFile, start, length, Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename));
3692+
diagnostic = Diagnostics.File_0_must_have_extension_ts_or_d_ts;
36923693
}
36933694
else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) {
3694-
errors.push(createFileDiagnostic(refFile, start, length, Diagnostics.File_0_not_found, filename));
3695+
diagnostic = Diagnostics.File_0_not_found;
36953696
}
36963697
}
36973698
else {
36983699
if (!(findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) || findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd))) {
3699-
errors.push(createFileDiagnostic(refFile, start, length, Diagnostics.File_0_not_found, filename + ".ts"));
3700+
diagnostic = Diagnostics.File_0_not_found;
3701+
filename += ".ts";
3702+
}
3703+
}
3704+
3705+
if (diagnostic) {
3706+
if (refFile) {
3707+
errors.push(createFileDiagnostic(refFile, start, length, diagnostic, filename));
3708+
}
3709+
else {
3710+
errors.push(createCompilerDiagnostic(diagnostic, filename));
37003711
}
37013712
}
37023713
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
error TS6053: File 'a.ts' not found.
2+
error TS6053: File 'a.ts' not found.
3+
error TS6054: File 'a.t' must have extension '.ts' or '.d.ts'.
4+
5+
6+
!!! error TS6053: File 'a.ts' not found.
7+
!!! error TS6053: File 'a.ts' not found.
8+
!!! error TS6054: File 'a.t' must have extension '.ts' or '.d.ts'.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"scenario": "InvalidRootFile",
3+
"projectRoot": "tests/cases/projects/InvalidRootFile",
4+
"inputFiles": [
5+
"a",
6+
"a.t",
7+
"a.ts"
8+
],
9+
"resolvedInputFiles": [
10+
"lib.d.ts"
11+
],
12+
"emittedFiles": []
13+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
error TS6053: File 'a.ts' not found.
2+
error TS6053: File 'a.ts' not found.
3+
error TS6054: File 'a.t' must have extension '.ts' or '.d.ts'.
4+
5+
6+
!!! error TS6053: File 'a.ts' not found.
7+
!!! error TS6053: File 'a.ts' not found.
8+
!!! error TS6054: File 'a.t' must have extension '.ts' or '.d.ts'.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"scenario": "InvalidRootFile",
3+
"projectRoot": "tests/cases/projects/InvalidRootFile",
4+
"inputFiles": [
5+
"a",
6+
"a.t",
7+
"a.ts"
8+
],
9+
"resolvedInputFiles": [
10+
"lib.d.ts"
11+
],
12+
"emittedFiles": []
13+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"scenario": "InvalidRootFile",
3+
"projectRoot": "tests/cases/projects/InvalidRootFile",
4+
"inputFiles": [
5+
"a",
6+
"a.t",
7+
"a.ts"
8+
]
9+
}

0 commit comments

Comments
 (0)