It's throwing an exception (since there's no program from which to
retrieve the SourceFile) and there's no reason to fix it since the
same files are open in the semantic server.
* Correctly show instantiated signatures for JSX element signature help
* Also bundle fix for quickinfo
* Use more complete cache to avoid duplicate errors
* Use jsdoc aliases if visible when printing types
* Modify implementation a bit, add test that aughta change in the new future
* Accept baselines- hold off on typedef template lookup change
* Avoid duplicates when finding jsdoc
1. Add a cheap assert for detecting duplicates. getJSDocTags must find
either [1] 0 or 1 comments or [2] the first two comments must not be
identical. This does not always find duplicates for nodes with 3 or more
comments, but these nodes are exceptionally rare.
This assert fired for over 20 of the around 250 tests we have that
retrieve JSDoc at all. So I fixed the asserts in [2] and [3].
2. There were overlapping cases from calls to getSourceOfAssignment and
getSpecialPropertyAssignment. getSpecialPropertyAssignment is too
restrictive, but was in the correct location (parent vs parent.parent),
so I removed the getSourceOfAssignment call and replaced the
getSpecialPropertyAssignment calls with a less restrictive check.
3. When a node's parent is a PropertyDeclaration,
getJSDocCOmmentsAndTags would check the parent for jsdoc. But when the
*node* is a PropertyDeclaration, getJSDocCommentsAndTags would use the
jsdoc from the initializer. This second case is useful to make sure that
property declarations get all their jsdoc, but results in duplicates for
their initializers. I couldn't think of a better fix than tracking the
previous node in the recursive lookup of getJSDocCommentsAndTags, which
is a little clunky.
* Fix lint; remove new context parameter
* Update importJsNodeModule3 with fix
* JS initializers use original valueDecl, not mutated
target's valueDeclaration is set to the source's if it is not present.
This makes it incorrect to use getJSInitializerSymbol because it relies
on the symbol's valueDeclaration.
This fix just saves the original valueDeclaration before mutating and
uses that.
* Compare merged targetInitializer to target
Instead of the unmerged one
* Add test of stack overflow
* Add missing @types/node dep to so many projects, rename parent node_modules dirs so they dont participate in tests, sort errors
* Accept new baselines
* Satisfy linter