Makes another test case pass that was taking exponential time to parse,
because now it notices that the = is not present and doesn't even try to
parse the initialiser expression.
Fail speculative parsing of arrow function expressions whenever it has a
parameter with an initialiser that is missing '='. Ordinarily this is
allowed for better error recovery in the language service, but for
speculative parsing, the errors can compound. When the initialiser is an
error, and when the '=>' is missing (which is also allowed), what is
putatively an arrow function may actually be something else.
For example, `(a / 8) + function ()
{ }` is currently parsed as if someone had intended to write
`(a = /8)+function()/) => { }` but they forgot the `=` of the
initialiser, the `=>` of the lambda, forgot to close the regular
expression, and mistakenly inserted a newline right after the regular
expression.
* Document ThrottledOperations.schedule
* Limit the number of unanswered typings installer requests
If we send them all at once, we (apparently) hit a buffer limit in the
node IPC channel and both TS Server and the typings installer become
unresponsive.
* Fix lint issues
* Add explanatory comment
* Test: parsing of two-line @typedef jsdoc
* Fix forEachChild's visit of JSDocTypedefTag
Also remove JSDocTypeLiteral.jsdocTypeTag, which made no sense since it
was only useful when storing information for its parent `@typedef` tag.
* Update baselines
* Inline variable to aid control flow
* Improved caching scheme for anonymous types
* Fix signature help
* Optimize caching of type literals
* Accept new baselines
* Fix linting errors
* Use canonicalized forms when comparing signatures
* Minor changes
* Document ThrottledOperations.schedule
* Limit the number of unanswered typings installer requests
If we send them all at once, we (apparently) hit a buffer limit in the
node IPC channel and both TS Server and the typings installer become
unresponsive.
* Fix lint issues
* Add explanatory comment
* Ensure that emitter calls calbacks
* Move new parameter to end of parameters
* Fix for ConditionalExpression
* Make suggested changes to emitter
* Fix parameter ordering
* Respond to minor comments
* Remove potentially expensive assertion
* More emitter cleanup
* Test for action description of code actions, and simplify description for extracting method to file
* Add unit test file missing from tsconfig.json (only affects gulp) and update tests
* Use the actual number
* Use "module scope" or "global scope" instead of "this file"
Object literal elements that are neither spread elements, nor property assignments would not have visitNode called on them. Therefore, the esnext transformer would not be called on them and their children.
Fixes#16765.