diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ea5e27c2c9e..885396e7d73 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27305,6 +27305,7 @@ namespace ts { clear(potentialNewTargetCollisions); forEach(node.statements, checkSourceElement); + checkSourceElement(node.endOfFileToken); checkDeferredNodes(node); diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.errors.txt b/tests/baselines/reference/checkJsdocOnEndOfFile.errors.txt new file mode 100644 index 00000000000..4dc2320dcd8 --- /dev/null +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.errors.txt @@ -0,0 +1,10 @@ +tests/cases/conformance/jsdoc/eof.js(2,20): error TS2304: Cannot find name 'bad'. + + +==== tests/cases/conformance/jsdoc/eof.js (1 errors) ==== + /** + * @typedef {Array} Should have error here + ~~~ +!!! error TS2304: Cannot find name 'bad'. + */ + \ No newline at end of file diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.js b/tests/baselines/reference/checkJsdocOnEndOfFile.js new file mode 100644 index 00000000000..a9d07d45e54 --- /dev/null +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.js @@ -0,0 +1,10 @@ +//// [eof.js] +/** + * @typedef {Array} Should have error here + */ + + +//// [output.js] +/** + * @typedef {Array} Should have error here + */ diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.symbols b/tests/baselines/reference/checkJsdocOnEndOfFile.symbols new file mode 100644 index 00000000000..bda09fa653e --- /dev/null +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.symbols @@ -0,0 +1,6 @@ +=== tests/cases/conformance/jsdoc/eof.js === +/** +No type information for this code. * @typedef {Array} Should have error here +No type information for this code. */ +No type information for this code. +No type information for this code. \ No newline at end of file diff --git a/tests/baselines/reference/checkJsdocOnEndOfFile.types b/tests/baselines/reference/checkJsdocOnEndOfFile.types new file mode 100644 index 00000000000..bda09fa653e --- /dev/null +++ b/tests/baselines/reference/checkJsdocOnEndOfFile.types @@ -0,0 +1,6 @@ +=== tests/cases/conformance/jsdoc/eof.js === +/** +No type information for this code. * @typedef {Array} Should have error here +No type information for this code. */ +No type information for this code. +No type information for this code. \ No newline at end of file diff --git a/tests/cases/conformance/jsdoc/checkJsdocOnEndOfFile.ts b/tests/cases/conformance/jsdoc/checkJsdocOnEndOfFile.ts new file mode 100644 index 00000000000..f9f3157084d --- /dev/null +++ b/tests/cases/conformance/jsdoc/checkJsdocOnEndOfFile.ts @@ -0,0 +1,8 @@ +// @outFile: output.js +// @allowJs: true +// @checkJs: true +// @Filename: eof.js + +/** + * @typedef {Array} Should have error here + */