Commit graph

17282 commits

Author SHA1 Message Date
Zzzen
2a8ff1c8d9 Merge remote-tracking branch 'ms/master' 2018-05-31 20:49:43 +08:00
Zzzen
8c95bf3cd7 Merge remote-tracking branch 'ms/master' 2018-05-31 20:41:59 +08:00
Wesley Wigham
576a733378
For type emit, walk non-parent containers when those containers have aliases leading to the target (#24507) 2018-05-30 17:52:59 -07:00
Andy
2cb46407b1
moveToNewFile: Remove newlines after last moved statement (#24503) 2018-05-30 15:16:03 -07:00
Wesley Wigham
04379d548c
Lookup type arguments correcly for taged templates when checking generic arity (#24496) 2018-05-30 15:03:04 -07:00
Vyacheslav Pukhanov
75f20f9b65 fixUnusedIdentifier: fix "Remove variable statement" codefix (#24497)
* fixUnusedIdentifier: fix "Remove variable statement" codefix

* Add test for a single "Remove variable statement" codefix in a file
2018-05-30 14:51:08 -07:00
Nathan Shively-Sanders
cdfa63aa40
Fix exported type resolution in commonjs (#24495)
* Fix resolution of exported types in commonjs

It is fine to resolve the types of exported classes in ES6:

```js
export class C {
}
var c = new C()
```

But not for commonjs exported classes:

```js
module.exports.C = class {
}
var c = new C() // should error
```

Fixes #24492

* All jsdoc type aliases are available locally in commonjs modules

* Check that location isSourceFile before commonJsModuleIndicator
2018-05-30 14:12:38 -07:00
Andy
43bf039a94
Add refactor to convert namespace to named imports and back (#24469)
* Add refactor to convert namespace to named imports and back

* Add tests and comments

* Code review

* Handle shorthand property assignment and re-export

* Don't use forEachFreeIdentifier

* Fix rename after "."
2018-05-30 14:11:53 -07:00
Andy
77371679be
Support getting references even if quickInfo failed (#24476)
* Support getting references even if quickInfo failed

* Add test
2018-05-30 14:11:36 -07:00
Andy
239dde8ff1
Fix cast: location may be a SourceFile (#24498) 2018-05-30 13:37:32 -07:00
csigs
c4ec165bf9 LEGO: check in for master to temporary branch. 2018-05-30 19:31:27 +00:00
Sheetal Nandi
2226cd6a99
Merge pull request #24471 from Microsoft/watchInSiblingOfRoot
Instead of creating filter for subDirectories to watch in the ancestor directory of root, watch those subDirectories for failed lookup locations
2018-05-30 11:12:23 -07:00
Mohamed Hegazy
c47df3a8fd
Merge pull request #24438 from vpukhanov/issue-22674
addMethodDeclaration: add after quickfix location if possible
2018-05-30 10:30:01 -07:00
Anders Hejlsberg
a8a31ed508
Merge pull request #24439 from Microsoft/unknownType
New 'unknown' top type
2018-05-30 10:22:02 -07:00
Andy
675e21203e
Improve template literal tests (#24359)
* Improve template literal tests

* Inline isTemplateLiteralToken where possible
2018-05-30 10:21:00 -07:00
Nathan Shively-Sanders
22cdff59e4
Better fix for bogus duplicate identifier in module exports (#24491) 2018-05-30 09:59:14 -07:00
Ron Buckton
fc3e88e26f
Merge pull request #24481 from Microsoft/fix24173
Fix async generator return as well
2018-05-30 09:43:00 -07:00
Mohamed Hegazy
04dc76ec9c
Merge pull request #24442 from Kingwl/fix-implement-interface-with-extends-class
add lookup for extends class when implement interface
2018-05-30 09:20:50 -07:00
Andy
5e2c7ffce6
isValidMethodAccess: use getTypeOfPropertyOfType instead of getTypeOfFuncClassEnumModule (#24488) 2018-05-30 09:12:24 -07:00
Anders Hejlsberg
86643902b2 Rename unknownType to errorType in merged code 2018-05-30 08:17:09 -07:00
Andy
011a4df4dd
Don't allow to rename string literal (#24477) 2018-05-30 07:50:48 -07:00
Anders Hejlsberg
e22a9d6fc1 Merge branch 'master' into unknownType 2018-05-30 07:45:10 -07:00
Vyacheslav Pukhanov
2ea66a6dbc Refactor and inline getNodeToInsertMethodAfter 2018-05-30 16:58:23 +03:00
王文璐
e05d2bace3 fix broken test 2018-05-30 17:36:09 +08:00
王文璐
2cb211305b Merge branch 'master' into fix-implement-interface-with-extends-class 2018-05-30 09:05:56 +08:00
Anders Hejlsberg
6b1c84e84a Remove eager resolution of distributive conditional types 2018-05-29 17:55:31 -07:00
Ron Buckton
6f7715444f Fix async generator return as well 2018-05-29 17:54:59 -07:00
Ron Buckton
364fce393d
Merge pull request #24474 from Microsoft/fix21115.2
Do not await iterated value in for-await-of
2018-05-29 17:54:10 -07:00
Ron Buckton
394862e829 Test for asyncIterator existance before defining 2018-05-29 17:12:50 -07:00
Andy
f411164483
Simplify calculation of sourceFiles for getReferences (#24475) 2018-05-29 16:12:25 -07:00
Andy
e99be8c47d
Avoid duplicate import completions when a namespace is exported by two different modules (#24473) 2018-05-29 15:52:34 -07:00
Ron Buckton
c224a824f3 Do not await iterated value in for-await-of 2018-05-29 15:33:43 -07:00
csigs
98a4dc7604 LEGO: check in for master to temporary branch. 2018-05-29 22:11:04 +00:00
Sheetal Nandi
939e3e4780 Instead of creating filter for subDirectories to watch in the ancestor directory of root, watch those subDirectories for failed lookup locations
Before this change, when failed lookup location didnt fall in root directory,
we tried to find the ancestor directory of the rootDirectory to watch.
We also created subDirectory map for the directories that are being watched so we dont go through invalidation if path is unwanted directory
With this change, we will watch those subdirectories instead of root. On windows node supports file system level recursive watching so the earlier approach was better because we reduced number of watches created
But on other os, since node doesnt support it, we create the watches for existing folders outselves, so earlier approach becomes expensive.
This should be better compromize to satisfy both types of OS.
Fixes #24434
2018-05-29 14:49:19 -07:00
Nathan Shively-Sanders
36c580378f
Fix duplicate identifier error with module.exports (#24466)
A bug in checkSpecialAssignment added bogus duplicate identifier errors
when using module.exports assignment to export a class. This commit
fixes that.
2018-05-29 14:29:48 -07:00
Nathan Shively-Sanders
15bfaf1cf6
Skip IntrinsicAttributes elaboration in JSX errors (#24461)
* Skip IntrinsicAttributes elaboration in JSX errors

Do not issue an error message for a source type that comes from JSX
attributes and a target type that is an intersection containing
IntrinsicAttributes or IntrinsicClassAttributes. This will make error
messages simpler and less confusing.

Note:
1. There will always be elaboration under the skipped message, so this
won't elide errors completely.
2. Rarely (once in the tests) the intersection type will have more that
one non-Intrinsic* member. However, these additional members don't
provide useful information either, so it's fine to skip them.

* Add test of IntrinsicAttributes error

* Fix indentation in test
2018-05-29 14:00:26 -07:00
Sheetal Nandi
c7091ab01b Add test that verifies watched directories and files when resolution of module references sibling folder to root with symlLink 2018-05-29 13:45:20 -07:00
Ron Buckton
c1a5d9bb06
Merge pull request #24463 from Microsoft/fix24288
Fix return and throw propagation for yield*
2018-05-29 13:34:31 -07:00
Ron Buckton
6657df47f0 Fix return and throw propagation for yield* 2018-05-29 12:56:46 -07:00
Anders Hejlsberg
074961f303 keyof unknown should be never 2018-05-29 12:54:00 -07:00
Andy
8bc1932ed5
moduleSpecifiers: Don't return a relative path to node_modules (#24460) 2018-05-29 12:40:06 -07:00
Andy
160b667846
fixUnusedIdentifier: Don't remove parameter in override or non-last parameter in callback (#24306)
* fixUnusedIdentifier: Don't remove parameter in override or non-last parameter in callback

* Only allow removing last parameters; don't care about contextual type
2018-05-29 12:39:45 -07:00
Andy
816f1cee5a
Include '...' on doc comment for rest parameter (#24462) 2018-05-29 12:17:57 -07:00
Mohamed Hegazy
58f4c6fcbf
Merge pull request #24457 from Microsoft/fixBuild
Fix build
2018-05-29 09:41:16 -07:00
csigs
a839cbd710 LEGO: check in for master to temporary branch. 2018-05-29 16:10:37 +00:00
Mohamed Hegazy
94c455792a Remove unneeded assertions 2018-05-29 09:06:35 -07:00
csigs
d5163357d3 LEGO: check in for master to temporary branch. 2018-05-29 10:10:39 +00:00
csigs
91aa60ac00 LEGO: check in for master to temporary branch. 2018-05-28 22:10:39 +00:00
王文璐
f9a55beec5 add lookup for extends class when implement interface 2018-05-28 18:38:07 +08:00
Anders Hejlsberg
a83653ed99 Add new diagnostic 2018-05-27 15:43:44 -07:00