Commit Graph

32734 Commits

Author SHA1 Message Date
Ron Buckton 015babb6f7 Initial support for 'typesVersions' 2018-08-20 16:57:18 -07:00
Ron Buckton 1de8cd3f62 Emit lib reference directives in declaration output 2018-08-20 16:54:51 -07:00
Anders Hejlsberg 6a81d4c129 Merge branch 'master' into fixInfiniteConstraints 2018-08-20 16:30:32 -07:00
Anders Hejlsberg f182389c5b Accept new baselines 2018-08-20 16:23:21 -07:00
Anders Hejlsberg 886a6d7473 Fix test 2018-08-20 16:23:09 -07:00
Anders Hejlsberg 88f7759d6b Add tests 2018-08-20 16:21:25 -07:00
Anders Hejlsberg a0df1e35e9 Accept new baselines 2018-08-20 16:04:21 -07:00
Anders Hejlsberg 15eaba254b Covariant inferences (other than never) preferred over contravariant 2018-08-20 16:04:11 -07:00
Anders Hejlsberg 103f894d38 Merge pull request #26425 from mattmccutchen/issue-26405
Go back to old narrowing algorithm but don't narrow in cases like #26130
2018-08-20 15:18:29 -07:00
Anders Hejlsberg a15fecdc52 Accept new baselines 2018-08-20 12:41:56 -07:00
Anders Hejlsberg 6262ac8b3d Add tests 2018-08-20 12:41:48 -07:00
Anders Hejlsberg 44ada08e02 Guard against infinite type instantiations and constraints 2018-08-20 12:41:31 -07:00
Andy 435a12e476 Remove some duplicate code in convertToAsyncFunction unit tests (#26527) 2018-08-17 18:41:18 -07:00
Matt McCutchen cc1c2ab6b2 Go back to the old narrowing algorithm (pre #26143) and avoid #26130 by
skipping narrowing if the old algorithm produces a type to which the
assigned type is not assignable.

This also means we'll no longer narrow for erroneous assignments where
the assigned type is not assignable to the declared type.  This is the
reason for the numericLiteralTypes3 baseline change.

Fixes #26405.
2018-08-17 21:35:03 -04:00
Wesley Wigham 926bdee888 Remove lockfile, add to gitignore, and add npmrc preventing its generation (#26519) 2018-08-17 16:30:34 -07:00
Wesley Wigham d433c6ed05 Track late bound names in binding patterns (#26336) 2018-08-17 16:30:01 -07:00
Wesley Wigham d58b1f664b mark error type in baselines very not-aggressively (#26346) 2018-08-17 15:45:14 -07:00
Sheetal Nandi 56bac29808 Merge pull request #26523 from Microsoft/disableBuildAPI
Disable apis for tsc --build till we have the actual API figured out with the tests and usage
2018-08-17 14:54:28 -07:00
Sheetal Nandi 8e2c422f2b Disable apis for tsc --build till we have the actual API figured out with tests 2018-08-17 14:38:29 -07:00
Andy 60b8f8c206 Remove unnecessary callback in runBaseline (#26500) 2018-08-17 12:51:30 -07:00
Sheetal Nandi 0f97620b9c Merge pull request #25884 from Microsoft/optimizeOpenExternalProject
Delay load configured project referenced from external project when opening it
2018-08-17 12:26:14 -07:00
Anders Hejlsberg 3e201e7809 Merge pull request #26517 from Microsoft/fixMappedArrayTypeConstraint
Fix mapped array type constraint
2018-08-17 10:52:42 -07:00
Anders Hejlsberg b746da2a68 Merge pull request #26481 from Microsoft/simplifyResolveCall
Simplify call resolution logic
2018-08-17 10:51:12 -07:00
Anders Hejlsberg 53f5e84b25 Accept new baselines 2018-08-17 10:11:34 -07:00
Anders Hejlsberg 596493cce4 Add tests 2018-08-17 10:11:28 -07:00
Anders Hejlsberg 9b6f06d83c Correct apparent type for homomorphic mapped types applied to array types 2018-08-17 09:45:09 -07:00
Andy ee25cdecbc Update LKG and remove newly unnecessary non-null assertions (#26515) 2018-08-17 09:13:43 -07:00
TypeScript Bot 2d495b7f25 Update user baselines (#26512) 2018-08-17 08:13:05 -07:00
Tim Schaub 6fd725f3ea Skip whitespace or asterisk in JSDoc param type and name (#26067) 2018-08-16 16:16:09 -07:00
Andy 746e39e9e9 Set "rootDir" for cancellationToken project (#26498) 2018-08-16 15:12:38 -07:00
Ryan Cavanaugh 7a658256a2 Merge pull request #26431 from mattmccutchen/issue-26430
Mapped types like Pick<T, K> should adopt property documentation from T.
2018-08-16 13:35:55 -07:00
TypeScript Bot 2ee4cee4dc Update user baselines (#26490) 2018-08-16 12:49:23 -07:00
Sheetal Nandi 0ca9a36610 Merge pull request #26420 from Microsoft/largeNonTsFiles
Check large file size only for non ts files
2018-08-16 10:28:24 -07:00
Nathan Shively-Sanders 75071a2509 Allow super references to constructor function methods (#26482)
Previously, they were mistakenly treated as private because of a check
that required all super property accesses (like `super.x()`) to be
references to a MethodDeclaration or MethodSignature. This change also
allows PrototypeProperty special assignment kinds.
2018-08-16 09:20:30 -07:00
Nathan Shively-Sanders 56f82563ae Check SymbolFlags instead 2018-08-16 08:38:41 -07:00
Anders Hejlsberg 178f792f18 Merge pull request #26340 from Microsoft/neverIndexedAccess
T[K] should be 'never' when T is 'never'
2018-08-15 16:07:11 -07:00
Ron Buckton a901930723 Ensure for-in loop variable is checked 2018-08-15 16:03:28 -07:00
Sheetal Nandi 969b46e44b Merge pull request #26458 from Microsoft/pathMappingResultsToNodeModules
When path mapping results to file in node_modules, mark it as external library
2018-08-15 15:28:50 -07:00
Anders Hejlsberg bfe7f02068 Fix lint errors 2018-08-15 15:25:31 -07:00
Nathan Shively-Sanders cc67ce1141 Property assignments in Typescript (#26368)
* Allow special property assignments in TS

But only for functions and constant variable declarations initialised with
functions.

This specifically excludes class declarations and class expressions,
which differs from Javascript. That's because Typescript supports
`static` properties, which are equivalent to property assignments to a
class.

* Improve contextual typing predicate

Don't think it's right yet, but probably closer?

* More fixes.

The code is still fantastically ugly, but everything works the way it
should.

Also update baselines, even where it is ill-advised.

* Cleanup

* Remove extra whitespace

* Some kind of fix to isAnyDeclarationName

It's not done yet.

Specifically, in TS:
Special property assignments are supposed to be declaration sites (but not all
top-level assignments), and I think I
got them to be. (But not sure).

In JS:
Special property assignments are supposed to be declaration sites (but not all
top-level assignments), and I'm pretty sure ALL top-level assignments
have been declaration sites for some time. This is incorrect, and
probably means the predicate needs to be the same for both dialects.

* Add fourslash and improve isAnyDeclarationName

Now JS behaves the same as TS.

* Cleanup from PR comments
2018-08-15 15:25:25 -07:00
Nathan Shively-Sanders 08eb99d8ec For a this-property assignment with an empty object initializer, use type annotation if present (#26428)
* This-property w/empty object init: use type annotation

* JS initializer type doesn't apply to this-property assignments

* Move getJSExpandoType into getWidenedType* functions

Plus some cleanup.

* Improved style from PR comments

* Parameters are not expando
2018-08-15 14:53:30 -07:00
Daniel Rosenwasser dfef227b18 Merge pull request #26473 from Microsoft/doGlobalImplicitThisRight
Fix bad message for captured global 'this'.
2018-08-15 13:08:38 -07:00
Anders Hejlsberg 38e174bbfb Accept new baselines 2018-08-15 12:28:59 -07:00
Anders Hejlsberg b96c4cb7b2 Use synthetic arguments instead of GetEffectiveArgumentXXX functions 2018-08-15 12:23:13 -07:00
Sheetal Nandi fea1667002 Use string contains and nodeModulesPathPart const for "/node_modules/" 2018-08-15 11:47:16 -07:00
Sheetal Nandi b983da55fd Merge pull request #26457 from Microsoft/baseUrlPathMappingResolveJsonModule
Do not include json file unless --resolveJsonModule is specified
2018-08-15 11:43:01 -07:00
Andy fd948ac6d2 Fix invalid cast (#26462) 2018-08-15 10:17:18 -07:00
Nathan Shively-Sanders 2bfd919b6a Narrow on element access of literal (#26424)
* Narrow literal element accesses

This means that, for example, the tuple `[number, string?]` allows its
second element to be narrowed with element access:

```ts
export function f(pair: [number, string?]): string {
  return pair[1] ? pair[1] : 'nope';
}
```

* Update baselines

* Cleanup

* More cleanup

* Test dashes in property names

* More cleanup

* Delete undead code
2018-08-15 09:58:39 -07:00
Daniel Rosenwasser aba82901ac Accepted baselines. 2018-08-15 09:00:37 -07:00
Daniel Rosenwasser dac00d97b7 Do it correctly. 2018-08-15 09:00:23 -07:00