When the caret is on a Typescript declaration that has no type, but does
have a JSDoc annotation with a type, this refactor will add the
Typescript equivalent of the JSDoc type.
Notes:
1. This doesn't delete the JSDoc comment or delete parts of it. In fact,
due to bugs in trivia handling, it sometimes duplicates the comment.
These bugs are tracked in #18626.
2. As a bonus, when `noImplicitAny: true`, this shows up as a code fix in VS Code
whenever there is a no-implicit-any error. With `noImplicityAny: false`,
this code must be invoked via the refactoring command.
* Always generate type & symbol baselines
* Accept changed shadowed baselines
* Accept brand new type and symbol baselines
* Allow `getTypeAtLocation` to return undefined in the type writer
* Accept baselines which had missing type information
* Bind container for dynamically names enum members so they may be printed
* Accept type/symbol baselines for enums with computed members
* First pass at reducing typeWriter memory overhead
* Use generators to allow for type and symbol baselines with no cache
* Accept new baselines for tests whose output was fixed by better newline splitting
* Hard cap on number of declarations printed, cache declaration print text
* handle differing newlines better still to handle RWC newlines
* Lower abridging count, accept abridged baselines
* Limit max RWC error output size, limit RWC type and symbol baseline input size
* Move skip logic into type and symbol baseliner to streamline error handling
* Accept removal of empty baselines
* Canonicalize path earlier to handle odd paths in input files
* Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another
* No need to pathify again
* Keep a small reserve of tasks to not-batch, so all threads can have an initial task"
* Assign no weight to new tests, but still place them at the end of the list
* Avoid calling `indexOf` when checking array element types
* Add 'indexOfNode' and use it in cases which may handle long lists. (#18635)
* Fix bug where contextual type was not reused if undefined
The emitter expects undefined, rather than empty. This only affects JS,
because TS applies `private` to all extracted methods.
(cherry picked from commit 9630c46ea7174f78d9a2661cbcc204bdce1a7781)
* Remove batching on unittest thread
* Batch more things, improve output, use past test perf as a better heuristic for future test runs
* Fix merge sideeffect
* Fix typo
* SafeArray<T>; stronger typing for VarDate, and for VBArray and Enumerator constructors
* Add overload to Enumerator based on Item method
* Add return type to Enumerator constructor
* Some tests depended on late execution
* Emulate mocha execution order
* Polyfill a synchronous done to handle that one unittest
* Accpept updates tsconfig baselines fixed by #18534
Modify parenthesizeExpressionForExpressionStatement to add brackets around an expression statement in which the left-most expression is an object literal.