Component commits:
339e1320c4 Bind typedef/enum on all assignment decl kinds
This fixes a crash on exports, but the code now handles all kinds
returned from getAssignmentDeclarationPropertyAccessKind.
Component commits:
a81ce061de Stricter criteria for eliminating types in unions during inference
f929a25407 Add regression test
6d46850172 Accept new baselines
86d9153374 Accept new API baselines
abc61a0949 Add InferencePriority.Circularity per CR feedback
ac2f151412 Accept new API baselines
c816cf2562 Add additional test
af7ccf954a Accept new baselines
* 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 b8dccff2a2.
* 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
* Add failing tests
* Use default import or namespace import for import fixes when compiler options allow
* Don’t do import * for export=, ever
* Only do import default for export equals if nothing else will work
* Never do import/require in a JavaScript file
* Update tests for changes in master
* Add const/require fix for JS and select based on usage heuristic
* Fix JS UMD import
* Amend scanner to support astral characters in identifiers when parsing es6+
* Use charSize helper rather than one-off maybe advance helper
* Update script to emit informative comment, run in unicode 12.1 environment
* Add suggested change
* Prevent infinite recursion resolving conditional types
* Use push/popTypeResolution and issue error
* Add failing test
* Fix the actual problem
* Revert unnecessary changes
* Bind a jsdoc enum as SymbolFlags.TypeAlias and not SymbolFlags.Enum
* Actually include an @enum tag as a declaration
* Add enum tag refs into a couple more syntax kind lists
* accept symbol baseline update