22133 Commits

Author SHA1 Message Date
Wesley Wigham
044cdbc85f Combine keyof T inferences (#22525)
* Combine keyof T inferences

* Extract covariant inference derivation into function

* Test:keyof inference lower priority than return inference

for #22376

* Update 'expected' comment in keyofInferenceLowerPriorityThanReturn

* Update comment in test too, not just baselines

* Fix typo

* Move tests
2018-03-19 17:59:06 -07:00
Daniel Rosenwasser
a11e54856a
Merge pull request #22697 from Microsoft/projectUpdates
[release-2.8] Port of #22520
2018-03-19 16:17:00 -07:00
Sheetal Nandi
fa66afc2d4 Do not close the file watches just to create new ones in the type installer
Fixes #22581
2018-03-19 11:41:59 -07:00
Sheetal Nandi
cdf5b419f8 Do not send first missing file event as well. 2018-03-19 11:41:49 -07:00
Nathan Shively-Sanders
0f5166535e Improve unmatched jsdoc param error (#22577)
* Improve unmatched jsdoc parameter error message

* Remove extraneous carriage return
2018-03-14 12:37:57 -07:00
Nathan Shively-Sanders
ee8adaeac2 No error on unmatchable @param tags (#22510)
* No errr on unmatchable `@param` tags

Such as when the initializer is not a function, or when the function
mentions `arguments` in its body.

* Do not require dummy param for JS uses of arguments

1. JS functions that use `arguments` do not require a dummy parameter in
order to get a type for the synthetic `args` parameter if there is an
`@param` with a `...` type.
2.JS functions that use `arguments` and have an `@param` must have a
type that is a `...` type.

* Check for array type instead of syntactic `...`

* Address PR comments

* Update baselines
2018-03-14 11:06:25 -07:00
Nathan Shively-Sanders
bd94170b7f Brackets and postfix= in @param add undefined (#22514)
* Brackets and postfix= in `@param` add undefined

Previously they only added optionality.
Note that, unlike Typescript, when a parameter initializer is specified
in jsdoc, it does not remove undefined in the *body* of the function.
That's because TS will generate initialisation code, but JS won't, so
the author will have to manually write code to remove undefined from the
type.

```js
/** @param {number} [a=101] */
function f(a) {
  // a: number | undefined here
  if (!a) {
    a = 101
  }
  // a: number here
}
```

Note that we don't check that
1. the initializer value is actually assigned to the parameter.
2. the initializer's type matches the declared type of the parameter.

Pretty much we just parse it and leave it alone.

* Address PR comments
2018-03-13 15:57:55 -07:00
Mohamed Hegazy
b5dfad1f61 Update LKG v2.8.0 v2.8-rc 2018-03-13 11:14:17 -07:00
Mohamed Hegazy
630af21963 Do not use unguarded process in tsc.ts 2018-03-13 11:06:04 -07:00
Mohamed Hegazy
c2d0c26a46 Update LKG 2018-03-09 14:50:27 -08:00
Mohamed Hegazy
c48b52f676 Merge branch 'master' into release-2.8 2018-03-09 14:43:30 -08:00
Mohamed Hegazy
3dc754aa7d
Merge pull request #22448 from Microsoft/portGeneratedLibFiles3-9-2
Port generated lib files
2018-03-09 14:42:37 -08:00
Sheetal Nandi
fa2b7ff6b3
Merge pull request #22421 from Microsoft/typesInTypeArguments
Allow types as well as values in possibly type argument location
2018-03-09 14:36:45 -08:00
Mohamed Hegazy
b6e83cd1a1 accept baselines 2018-03-09 14:22:00 -08:00
Mohamed Hegazy
88fc88120c Port generated lib files 2018-03-09 14:06:14 -08:00
Sheetal Nandi
ef64cde621
Merge pull request #22409 from Microsoft/symbolKind
Symbol kind needs to use location before falling back to flags
2018-03-09 13:59:38 -08:00
Sheetal Nandi
73947f8990 Add comments and make some nit changes based on PR feedback 2018-03-09 13:57:57 -08:00
Mohamed Hegazy
4b6adb8a10
Merge pull request #22444 from obany/master
Fix typo in emitDeclarationOnly error message for declaration required
2018-03-09 13:42:41 -08:00
Martyn Janes
bcf6e342f1 Fix typo in emitDeclarationOnly error message for declaration required 2018-03-09 22:37:10 +03:00
Mohamed Hegazy
6959bda3c9 Disable test 2018-03-09 09:58:38 -08:00
Mohamed Hegazy
4ae8764ffc update branch list 2018-03-09 09:45:25 -08:00
Mohamed Hegazy
67c7b368e6 Update LKG 2018-03-09 09:44:07 -08:00
Mohamed Hegazy
ffdefea82d
Merge pull request #22442 from Microsoft/mergeMaster3-9
Merge master into release-2.8
2018-03-09 09:19:55 -08:00
Mohamed Hegazy
260194c7b4 Merge branch 'master' into release-2.8 2018-03-09 09:05:59 -08:00
Mohamed Hegazy
3480bf2eb9
Port generated lib files (#22437)
* Port generated lib files

* Update line breaks
2018-03-09 09:05:28 -08:00
Mohamed Hegazy
c335c3803c
Fix #22133: Expose getOutliningSpans on the server protocol (#22400)
* Fix #22133: Expose getOutliningSpans on the server protocol

* Remove debugger statement from test
2018-03-09 08:50:47 -08:00
Mohamed Hegazy
1fc3aebc20
Port changes from #22172, provide a callback to fs.close (#22405) 2018-03-09 08:30:09 -08:00
Andy
0f47c8a205
annotateWithTypeFromJSDoc: Do less special-casing for arrow functions (#22407)
* annotateWithTypeFromJSDoc: Do less special-casing for arrow functions

* Code review
2018-03-08 16:32:32 -08:00
Andy
2170f6e1f8
FunctionLike = SignatureDeclaration (#22365) 2018-03-08 16:31:42 -08:00
Sheetal Nandi
e1a89e7011 Allow types as well as values in possibly type argument location
Fixes #22369
2018-03-08 16:06:26 -08:00
Andy
e48bcd60ba
Treat 'yield;' as 'yield undefined;' (#22297)
* Treat 'yield;' as 'yield undefined;'

* Use undefinedWideningType
2018-03-08 15:41:04 -08:00
Andy
28e8c4f3b8
Factor out a getYieldedTypeOfYieldExpression helper (#22416) 2018-03-08 15:06:29 -08:00
Wesley Wigham
87d88e2ba3
Handle resolving and unknown symbols in getLiteralTypeFromPropertyName (#22406) 2018-03-08 13:35:55 -08:00
Sheetal Nandi
17b10dc2a9
Merge pull request #21243 from Microsoft/watchOptions
Different watchFile and watchDirectory options through environment variable
2018-03-08 12:44:53 -08:00
Nathan Shively-Sanders
a81f264d70
Call process.stdout._handle.setBlocking(true) (#22389)
* Call process.stdout._handle.setBlocking(true)

This prevents output from being truncated when the compiler can output
errors to stdout faster than it can receive them. This may slow down
performance for compilations for many errors, but those were already
quite slow.

* Disable tslint no-unnnecessary-type-assertion-2

It is wrong. It *is* necessary.
2018-03-08 12:38:30 -08:00
Sheetal Nandi
8378f692c7 Directly assign values for watchFile and watchDirectory in node System 2018-03-08 12:18:04 -08:00
Sheetal Nandi
ea37c37e88 Symbol kind needs to use location before falling back to flags
Fixes #22366
2018-03-08 11:50:52 -08:00
Andy
a49e83ffa7
annotateWithTypeFromJSDoc: Use changes.insertTypeAnnotation instead of replaceNode (#22404) 2018-03-08 11:47:30 -08:00
Nathan Shively-Sanders
e4610e3418
Import types in JS with var x = require('./mod') (#22161) 2018-03-08 11:11:51 -08:00
Nathan Shively-Sanders
99d866de4a
Merge pull request #21974 from Microsoft/js-object-literal-assignments-as-declarations
More special declaration types in JS
2018-03-08 10:51:42 -08:00
Nathan Shively-Sanders
f8134d0b45 Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-03-08 10:40:55 -08:00
Nathan Shively-Sanders
35730f2879 Improve error span:duplicate symbols cross-js/ts
when the JS symbol is a JS initializer
2018-03-08 10:33:38 -08:00
Nathan Shively-Sanders
04ceb3d9bd Disallow JS/non-JS merge without crashing
Note that the error location is misleading because it's reported inside
the merge step for the js initializer.
2018-03-08 09:49:23 -08:00
Wesley Wigham
95862880fb
Filter symbol property names out of index signature assignability checks (#22398) 2018-03-08 09:30:25 -08:00
Andy
55bffba5fd
Use getTextOfNode over getTextOfNodeFromSourceText(getSourceFileOfNode(node)) (#22387) 2018-03-08 07:52:35 -08:00
Andy
0605424852
fixJSDocTypes: Use ChangeTracker (#22391) 2018-03-08 07:52:03 -08:00
Andy
2676786e7f
Add 'isNamedDeclaration' helper to reduce casts (#22089)
* Add 'isNamedDeclaration' helper to reduce casts

* Add assertion

* Remove assertion
2018-03-08 07:50:25 -08:00
Wesley Wigham
88ba1ef2de
Platform independent wildcard file include ordering (#22393)
* Resolve config wildcards result order in a platform independent manner

* Accept affected user test baseline

* Per reccomendation, just change matchFiles

* Add test asserting the same order on differing case sensitive platforms
2018-03-07 19:54:19 -08:00
Wesley Wigham
45eaf42006
Use single replacer for string escaping (#22335) 2018-03-07 17:36:31 -08:00
Mohamed Hegazy
a826c787f6 Accept user baseline changes 2018-03-07 16:52:33 -08:00