25100 Commits

Author SHA1 Message Date
Jack Williams
911c59f47f Merge branch 'master' into typeof-in-switch 2018-09-06 09:33:01 +01:00
Wesley Wigham
d8f736d319
Change typeof narrowing to narrow selected union members (#25243)
* For typeof narrow all union members prior to filtering

* Revise narrowTypeByTypeof to both narrow unions and applicable union members

* Add repros from issue
2018-09-06 00:41:09 -07:00
Ryan Cavanaugh
c62920ac81
Merge pull request #26392 from mattmccutchen/declare-module-advice
Fixes to the advice for untyped module imports from unknown packages.
2018-09-05 22:02:51 -07:00
christian
ea984d7b64 Centralize diagnostic reporting for empty files diagnostic 2018-09-05 23:18:39 -04:00
Ryan Cavanaugh
cfc6d353b2
Merge pull request #26589 from Microsoft/deduplicate_overloads
Remove unused overloads of 'deduplicate' and 'deduplicateSorted'
2018-09-05 17:43:52 -07:00
Ryan Cavanaugh
54f7666017
Merge pull request #26453 from ajafff/abstract-property-in-initializer
disallow abstract property access in property initializer
2018-09-05 17:43:21 -07:00
Ryan Cavanaugh
270ea77815
Merge pull request #26308 from ajafff/checkresolvedmodule
unittests/moduleResolution: actually assert in checkResolvedModule
2018-09-05 17:42:33 -07:00
Ryan Cavanaugh
ed70d4887a
Merge pull request #25633 from Kingwl/strictParameter
add use strict and simple parameter check
2018-09-05 17:15:52 -07:00
TypeScript Bot
ddedfd44f7 Update user baselines (#26903) 2018-09-05 15:22:39 -07:00
Daniel Rosenwasser
d0673762f1 Accepted baselines. 2018-09-05 15:12:23 -07:00
Daniel Rosenwasser
d989e10c49 Renamed test. 2018-09-05 15:11:48 -07:00
Wesley Wigham
0b1183a461
Allow isSymbolAccessible to paint object literal declarations as visible (#24668)
* Dont use resolveEntityName for computed property name symbol resolution - use checkExpression and resolvedSymbol instead

* Fix lint
2018-09-05 14:52:47 -07:00
Wesley Wigham
69c7e67c88
Check privateness when emittign readonly/const props (#26920) 2018-09-05 13:49:38 -07:00
Ryan Cavanaugh
1e2fb9f0ae
Merge pull request #26465 from rnathanday/master
include leading non-ASCII horizontal whitespace
2018-09-05 12:38:09 -07:00
Anders Hejlsberg
695aae7be8
Merge pull request #26848 from Microsoft/deferUnionIntersectionReduction
Defer union and intersection type reduction
2018-09-05 12:33:54 -07:00
Ryan Cavanaugh
f79e64561f
Merge pull request #26870 from ajafff/composite-files-check
better condition for file include exhaustiveness check
2018-09-05 12:32:56 -07:00
Ryan Cavanaugh
69f91b5ed8
Merge pull request #26837 from mattmccutchen/issue-26835
Argument arity error should only consider signatures with correct type argument arity.
2018-09-05 12:22:48 -07:00
Ryan Cavanaugh
4717ddb986
Merge pull request #26828 from Microsoft/narrowUnknownByObject
Narrowing unknown by typeof object to object | null
2018-09-05 12:16:24 -07:00
Ryan Cavanaugh
6465e9dcdd
Merge pull request #26292 from Kingwl/tupleIndexAccessCheck
check index access for fixed length tuple
2018-09-05 12:10:46 -07:00
Ryan Cavanaugh
c188864394
Merge pull request #26112 from rhys-vdw/22685-array-flat-fix
Fix issue with Array#flatMap callback return type
2018-09-05 11:55:42 -07:00
Ryan Cavanaugh
d265fbf7f7
Merge pull request #26192 from ajafff/createprogram-nochecker
createProgram: don't use TypeChecker
2018-09-05 11:49:57 -07:00
Ryan Cavanaugh
5d65e86756
Merge pull request #23253 from Kingwl/definite-assignment-assertion-improve
improve parser and error message if definite assignment assertions in…
2018-09-05 11:49:13 -07:00
Ryan Cavanaugh
4975dc85b1
Merge pull request #25822 from Kingwl/rechabilityImprove
improve enum rechability check
2018-09-05 11:46:07 -07:00
Andy
1eb3082387
Support completions inside JSDoc before EndOfFileToken (#25568) 2018-09-05 11:34:27 -07:00
Wesley Wigham
62d8b85f1d
Allow literal initializers of readonly properties in declaration files (#26313)
* Allow literal initializers of readonly properties in declaration files

* Move some conditions a bit
2018-09-05 11:30:05 -07:00
Ron Buckton
e726e4cfec PR Feedback 2018-09-05 11:23:39 -07:00
Andy
bcb815b3ac
Remove duplicate function createTextRange (#23346)
* Remove duplicate function createTextRange

* Always allow end=-1

* Put noAssert back, pending #23370

* Use getRangeUnion helper

* Update API (#24966)
2018-09-05 11:19:56 -07:00
Andy
06774962ed
Properly handle JS enum symbols (#26893) 2018-09-05 11:19:32 -07:00
Nathan Shively-Sanders
ff05082e45
Bind non-expando property assignments at top-level (#26908)
* Bind non-expando property assignments at toplevel

Previously, only property assignments with expando initialisers were
bound in top-level statements. Now, all property assignments are bound.

This requires a matching change in the checker to make sure that these
assignments remain context sensitive if their valueDeclaration is a
'real' declaration (ie a non assignment-declaration).

* Add baselines for new test
2018-09-05 10:53:43 -07:00
TypeScript Bot
6e318890fe Update user baselines (#26888) 2018-09-05 10:04:34 -07:00
Daniel Rosenwasser
cd399fb49b Accepted baselines. 2018-09-04 19:26:00 -07:00
Daniel Rosenwasser
c5c594f1e7 Try finding the first type with a call/construct signature when relating to unions. 2018-09-04 19:25:46 -07:00
Wesley Wigham
4ac8976750
Always check index type validity for all types when an error node is present so we always issue an error (#26789)
* Always check index type validity for all types when an error node is present so we always issue an error

* Change type a bit
2018-09-04 16:00:28 -07:00
Wesley Wigham
ca662419e8
Dont consider export specifiers visible in their local scope (#26884) 2018-09-04 16:00:10 -07:00
Wesley Wigham
f1370ecd54
Allow special assignments to have a contextual type of their declared type if present (#26802)
* Allow special assignments to have a contextual type of their declared type if present

* Expand change to cover all js special assignments

* Remove extraneous line
2018-09-04 15:58:18 -07:00
Daniel Rosenwasser
289ae3cca6 Accepted baseleines. 2018-09-04 15:47:04 -07:00
Tim Schaub
262ea5b06e Skip asterisks after newline when parsing JSDoc types (#26528)
* Skip asterisks after newline when parsing JSDoc types

* Single boolean expression

* Test for parsing and printing multiline function signatures with *
2018-09-04 15:41:08 -07:00
Nathan Shively-Sanders
64ac5a53f4
Fixes for type parameter name resolution in JS (#26830)
* check for expando initializers in resolveEntityName

when resolving type parameters in a prototype property assignment
declaration. For example, this already works:

```js
/** @template T */
function f(x) { this.x = x }
/** @returns {T} */
f.protototype.m = function () { return this.x }
```

This now works too:

```js
/** @template T */
var f = function (x) { this.x = x }
/** @returns {T} */
f.prototype.m = function () { return this.x }
```

Fixes #26826

* Lookup type parameters on prototype-assignment methods

In the same way that they're looked up on prototype-property methods.

That is, this previously worked:

```js
/** @template T */
function f() { }
/** @param {T} p */
f.prototype.m = function () { }
```

And this now works too:

```js
/** @template T */
function f() { }
f.prototype = {
  /** @param {T} p */
  m() { }
}
```

Note that the baselines still have errors; I'll file a followup bug for
them.

* Look up types on property assignments too
2018-09-04 14:47:18 -07:00
TypeScript Bot
0ac3a0a937 Update user baselines (#26861) 2018-09-04 11:31:30 -07:00
Daniel Rosenwasser
3d812ef93a Added test. 2018-09-04 11:07:50 -07:00
Nathan Shively-Sanders
540e8b9eb0
Collect jsdoc tags for type parameters (#26824)
Before the template tag, there was no reason to do this, but now you can
add JSDoc for type parameters in Typescript.
2018-09-04 09:29:19 -07:00
Klaus Meinhardt
239a7b9a4f better condition for file include exhaustiveness check
As `files` always contains declaration files of external libraries, lib files and declaration files from typeRoots, the previous condition evaluated to false for probably all projects out there.
This changes the condition to compare array length after filtering out all declaration files.
That avoids unnecessary work of path normalization in the common case where everything is ok.
2018-09-04 13:35:57 +02:00
christian
959dbbba28 Add newline to bottom of tsconfig files 2018-09-03 23:16:53 -04:00
christian
c87ca2f1ab Fix diagnostic reporting for empty files in tsconfig 2018-09-03 22:57:26 -04:00
Anders Hejlsberg
d9e0d6b07f Accept new baselines 2018-09-02 08:58:32 -07:00
Anders Hejlsberg
059fcc9aa9 Defer reduction of identical function types in unions and intersections 2018-09-02 08:58:00 -07:00
Matt McCutchen
f2d26fd0bb Argument arity error should only consider signatures with correct type
argument arity.

Fixes #26835.
2018-09-01 19:48:47 -04:00
Sheetal Nandi
45101491c0
Merge pull request #26782 from Microsoft/reportFileChangeDetectedOnce
Report file change detected only once when save takes place multipletimes before timeout
2018-08-31 15:26:03 -07:00
Sheetal Nandi
f1a179a314 Narrowing unknown by typeof object to object | null
Fixes #26327
2018-08-31 15:24:53 -07:00
Sheetal Nandi
e41dbcdccd Support json module emit when module emit is commonjs, amd, es2015 or esnext
Fixes #25755 and #26020
2018-08-31 14:05:14 -07:00