1. All numbers and numeric literals are assignable to all enums and enum
literals.
2. Computed enums are no longer assignable to anything except
themselves, even if they would otherwise be "semi-structurally"
compatible.
1. Cache results of isEnumTypeRelatedTo
2. Make numeric literal assignment stricter again.
3. Use isEnumRelatedTo for comparing enums to each other. This provides
the previous semi-structural semantics.
4. Because of the new distinction between computed enums (no union
members) and union enums (no computed values => a union of enum
literals), some semi-structural code moves out to the body of
`isRelatedTo`.
Also make maxNodeModuleJsDepth default to 0 so that incorrect tsconfigs
now let the compiler spend less time compiling JS that is found in
node_modules (especially since most people will already have the d.ts
and want ignore the JS anyway). jsconfig still defaults to 2.
* Add test case for #8229
* Do not report errors during contextual typecheck
Fixes#8229
* Handle the scenario when let [a=undefined]=[]
* Instantiate contextual this parameters if needed
* Test that contextually typed generic this parameters are instantiated
* Don't allow `.ts` to appear in an import
* Add specific error message for unwanted '.ts' extension
* Allow `await` in a simple unary expression
* More tests
* Forbid `await await`
* Allow `await await`
* Improve error message
* Don't allow ".d.ts" extension in an import either.
* Rename 'find' functions
* Assign and instantiate contextual this type if not present
* JSDoc supports null, undefined and never types
* Update baselines in jsDocParsing unit tests
* Return non-JsDocComment children
... to make syntactic classification work
* Move supportedTypescriptExtensionsWithDtsFirst next to supportedTypeScriptExtensions and rename
* Fix comment
* Treat special property access symbol differently
... when retriving documentation
* Fix tests
* Update shim version to be 2.1 (#10424)
* Check return code paths on getters (#10102)
* Check return paths on getters
* Remove TODO comment
* Remove extraneous arguments from harness's runBaseline (#10419)
* Remove extraneous arguments from runBaseline
* Address comments from @yuit
* Remove needless call to basename
* Refactor baseliners out of compiler runner (#10440)
* CR feedback
* fix broken tests
* Pass in baselineOpts into types baselines so that RWC baselines can be written to internal folder (#10443)
* Add more test for 10426
* routine update of dom libs
* Add test for jsdoc syntactic classification for function declaration
* Simplify implementation
* Tolerate certain errors in tsconfig.json
* Add test for configFile error tolerance
* Use TS parser to tolerate more errors in tsconfig.json
* Implement tuple types as type references to synthesized generic types
* Add comments + minor changes
* Accept new baselines
* Add .types extension
* Properly guard for undefined in getTypeReferenceArity
* Add jsdoc nullable union test case to fourslash
* Fix class/interface merging issue + lint error
* Allow "typings" in a package.json to be missing its extension (but also allow it to have an extension)
* Contextually type this in getDeclFromSig, not checkThisExpr
* Update parser comment with es7 grammar (#10459)
* Use ES7 term of ExponentiationExpression
* Update timeout for mac OS
* Address PR: add space
* allowSyntheticDefaultImports resolves to modules instead of variables
Fixes#10429 by improving the fix in #10096
* Rename getContextuallyTypedThisParameter to getContextualThisParameter
* Fix 10472: Invalid emitted code for await expression (#10483)
* Properly emit await expression with yield expression
* Add tests and update baselines
* Move parsing await expression into parse unary-expression
* Update incorrect comment