diff --git a/Gulpfile.js b/Gulpfile.js index 94212344d380d..2faac33cb14f6 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -447,7 +447,7 @@ preTest.displayName = "preTest"; const postTest = (done) => cmdLineOptions.lint ? lint(done) : done(); const runTests = () => runConsoleTests("built/local/run.js", "mocha-fivemat-progress-reporter", /*runInParallel*/ false, /*watchMode*/ false); -task("runtests", series(preBuild, preTest, runTests, postTest)); +task("runtests", series(preBuild, preTest, postTest)); task("runtests").description = "Runs the tests using the built run.js file."; task("runtests").flags = { "-t --tests=": "Pattern for tests to run.", @@ -468,7 +468,7 @@ task("runtests").flags = { }; const runTestsParallel = () => runConsoleTests("built/local/run.js", "min", /*runInParallel*/ cmdLineOptions.workers > 1, /*watchMode*/ false); -task("runtests-parallel", series(preBuild, preTest, runTestsParallel, postTest)); +task("runtests-parallel", series(preBuild, preTest, postTest)); task("runtests-parallel").description = "Runs all the tests in parallel using the built run.js file."; task("runtests-parallel").flags = { " --no-lint": "disables lint.", diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c89f0083028ad..e0642c9b07f02 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -34013,7 +34013,20 @@ namespace ts { const saveCurrentNode = currentNode; currentNode = node; instantiationCount = 0; + + const oldTypeCount = typeCount; + const oldSymbolCount = symbolCount; + checkSourceElementWorker(node); + + if (node.kind >= SyntaxKind.FirstStatement && node.kind <= SyntaxKind.LastStatement) { + const sourceFile = getSourceFileOfNode(node); + const startLC = getLineAndCharacterOfPosition(sourceFile, skipTrivia(sourceFile.text, node.pos)); + const endLC = getLineAndCharacterOfPosition(sourceFile, node.end); + + sys.write(`"${sourceFile.path}",${startLC.line + 1},${startLC.character + 1},${endLC.line + 1},${endLC.character + 1},${typeCount - oldTypeCount},${symbolCount - oldSymbolCount}` + sys.newLine); + } + currentNode = saveCurrentNode; } } @@ -34035,6 +34048,7 @@ namespace ts { cancellationToken.throwIfCancellationRequested(); } } + if (kind >= SyntaxKind.FirstStatement && kind <= SyntaxKind.LastStatement && node.flowNode && !isReachableFlowNode(node.flowNode)) { errorOrSuggestion(compilerOptions.allowUnreachableCode === false, node, Diagnostics.Unreachable_code_detected); } diff --git a/src/executeCommandLine/executeCommandLine.ts b/src/executeCommandLine/executeCommandLine.ts index 7d5b434b8e684..4bb64002f76a1 100644 --- a/src/executeCommandLine/executeCommandLine.ts +++ b/src/executeCommandLine/executeCommandLine.ts @@ -344,6 +344,8 @@ namespace ts { cb: ExecuteCommandLineCallbacks, commandLineArgs: readonly string[], ) { + system.write(`"Path","Start Line","Start Character","End Line","End Character","Type Delta","Symbol Delta"` + system.newLine); + if (isBuild(commandLineArgs)) { const { buildOptions, watchOptions, projects, errors } = parseBuildCommand(commandLineArgs.slice(1)); if (buildOptions.generateCpuProfile && system.enableCPUProfiler) {