* Initial implementation
The original test passes but I haven't run any other tests yet, so I
assume the world is now broken.
* Append constructor function construct sigs
Instead of overwriting them
* Grab bag of improvements.
1. Mark @class-tagged functions with Class too.
2. Only gather local type parameters of constructor functions.
3. Remove getJSClassType calls with getDeclaredTypeOfSymbol.
4. Add a couple more failing tests.
getDeclaredTypeOfClassOrInterface now needs to understand prototype
assignment. That's next, I think.
* Prototype assignments work now
1. Binder marks prototype assignments as Class now.
2. Checker merges prototype assignments using the same merge code as for
functions and their declarations. No more intersections.
Many fewer failing tests now.
* Mark prototype-property assignments as Class
Even if there are no this-property assignments in them. (Then why are
you using a class?).
* Simplify getJSClassType, remove calls to its guts
It's probably not needed because now it's just a conditional call to
getDeclaredTypeOfSymbol, and I think most callers already know whether
they have a JS constructor function beforehand.
* isJSDocConstructor doesn't need to check prototype anymore
Because all the properties are merged during getDeclaredTypeOfSymbol.
* outer type parameter lookup follow prototype assignment
* this-type and -expression support in ctor funcs
Pretty cool!
* Fix remaining tests
* Fix minor lint
* Delete now-unused code
* Add class flag to nested class declarations
Also remove old TODOs
* Fix lookup of exported eunm type alias in local scope in JS
* Fix by adjusting type lookup fallback behavior to not include SymbolFlags.Value in its initial lookup instead
* Update Feature_request.md
Added the same list of steps that is present on the bug report to the feature request.
* Remove duplicate FAQ reading sentence
* Report error when using generic class in js file
* Replace "ClassDeclaration | ClassExpression" to ClassLikeDeclaration
Co-Authored-By: Klaus Meinhardt <klaus.meinhardt1@gmail.com>
* add noEmit:true
* Incrementally parse unchanged ambient declarations
* Re-parse modifiers and decorators so as not to skip errors
* Revert unnecessary change
* Undo the test change that was changed 2 years ago