* Improve codeFixAll for add missing await
* Improve add missing await for initializers and fix-all
* Fix when only one side of a binary expression can have its initializer fixed
* 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
* 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
* Add error message for keywords with escapes in them
* Move check into parser during advance to next token to utilize context for contextual keywords
* git add .
* Add tests for extended escapes
* Better error courtesy of @DanielRossenwaser
* Add test of browser-inconsistent case and alter condition to match spec
* Merge adjacent conditions
* Use seperate functions for checking keywords vs not
* Use flags to track unicode escape presence
* Adjust error text
* Remove error on invalid jsdoc tokens
In JSDoc:
1. In the scanner, don't issue an error, even for invalid identifiers.
2. In the binder, don't issue an error for reserved (but otherwise valid)
identifiers.
/**
* Example of 1: "\"
* Example of 2: @private
*/
* Update baselines
* Add invalid unicode escape test for JSDoc
* Add quotes around invalid unicode escape
* Add another unicode escape JSDoc test
* Target types in excess property checking must match all discriminable properties
This allows fewer types to be discriminated in excess properties, which
fixes some examples.
* Add excess property test
* Fix semicolon lint
* Remove extra semicolon!
* Improve EPC for unions with multiple discriminants
* Improve excess property checking for intersections
Still a draft, the implementation needs improvement
* Use mutable isIntersection in checkTypeRelatedTo
This makes parameter lists a lot shorter. Seems like a slight
improvement, although I can revert if I change my mind.
* Fix semicolon lint
* Remove TODOOOO
* Revert "Use mutable isIntersection in checkTypeRelatedTo"
This reverts commit b8dccff2a25495867cff070b94601015e689b8ff.
* Adjust isIdentifierText to skip multiple characters when a code point is multiple chars long
* Add a few examples with mixed unicode characters
* for posterity, add some unicode cursive script characters
* Test some more planes more explicitly
* Fix emit for object rest on a module export
* Add tests for exports of empty object/array binding patterns
* Add delay for exec to ensure diff tool has enough time to start
* Preserve const enums should keep import refs
for exported const enums exported via export default
Move some functionality around, small cleanup
Remove unneeded const enum check
* Only mark const enums as references with preserveConstEnums on in export assignments
* Limit change to declarations and preserveConstEnums mode