24518 Commits

Author SHA1 Message Date
Andy
2e89dbd769
fourslash: Don't parse lib if 'nolib' is set (#23277) 2018-07-25 14:25:32 -07:00
Andy
7546fd03c6
Simplify getContainers (#23323) 2018-07-25 12:30:13 -07:00
Andy
bd600cfd50
Fix duplicate "this" completion (#25900) 2018-07-25 12:29:28 -07:00
Andy
d60f4988a6
In getPropertySymbolsFromContextualType, use union discriminant to filter types (#25914) 2018-07-25 11:53:20 -07:00
Nathan Shively-Sanders
9658b476c2
Fix inferFromUsage on index signatures (#25934)
* Fix inferFromUsage on index signatures

1. Check the argumentExpression to determine the index signature type.
Previously, the code mistakenly checked the type of the element access
itself, which never returned a good type.
2. If inference for the index signature type fails, substitute anyType.
Previously, the code would create a bad index signature with an
undefined type.
3. Add tests. Previously, there were no tests.

* Fixing (1) means that number index signatures are now created.
Previously, only string index signatures would be created.
* Fixing (2) means that index signatures will be inferred from single
usage like `return a[0]`. Previously, the refactoring would fail,
perhaps because of a check when stringifying the index signature (I
haven't tracked down why.)

* Update fourslash test with improved inference
2018-07-25 10:51:11 -07:00
Anders Hejlsberg
7b4d13c95c
Merge pull request #25859 from Microsoft/optimizePrimitiveIntersections
Optimize creation of intersections of union types
2018-07-25 10:28:43 -07:00
Anders Hejlsberg
f9681e2327 Update comment 2018-07-25 07:10:44 -07:00
Anders Hejlsberg
dd4fd8c60e
Merge pull request #25913 from Microsoft/fixCircularConstraintCheck
Fix circular constraint check
2018-07-25 06:46:51 -07:00
Anders Hejlsberg
ff6059abf6 Address CR feedback 2018-07-24 17:58:03 -07:00
Andy
e4d4b0ae4b
Handle PropertyAssignment in getCommentOwnerInfo (#25911) 2018-07-24 17:43:46 -07:00
Mohamed Hegazy
fd2eb4918d
Merge pull request #25604 from mprobst/fix-exported-var-comments
Retain synthetic comments on exports.
2018-07-24 17:41:44 -07:00
Wesley Wigham
7d44014c56
Fix typos 2018-07-24 16:37:07 -07:00
Wesley Wigham
23eb591e01
Lookup files by resolved Path and not by fileName in sourcemapDecoder when querying program (#25908)
* Check if the file returned by the program actually refers to the same file as we intend

* Simplify
2018-07-24 15:44:22 -07:00
Anders Hejlsberg
fe9ca725b9 Accept new baselines 2018-07-24 15:33:10 -07:00
Anders Hejlsberg
aeae05eaf5 Add regression test 2018-07-24 15:33:02 -07:00
Anders Hejlsberg
1fd1de9625 More simplification + consistent use of getConstraintOfTypeParameter 2018-07-24 15:27:39 -07:00
Wesley Wigham
f6d3ac9b5d
Fix #25820 - handle redirected files when comparing paths (#25902)
* Fix #25820 - handle redirected files when comparing paths

* Update test to do case check
2018-07-24 15:24:52 -07:00
Mohamed Hegazy
870c55c7a5
Merge pull request #25863 from mattmccutchen/issue-9744
Report a semantic error for an arrow function with a "this" parameter.
2018-07-24 15:08:26 -07:00
Anders Hejlsberg
0fd89399cc Accept new baselines 2018-07-24 14:49:45 -07:00
Anders Hejlsberg
7233cde0dc Simplify logic in getBaseConstraint 2018-07-24 14:49:22 -07:00
Wesley Wigham
797d8bd07b
Call toPath on sourceRoot to ensure it is always absolute (#25838)
* Call toPath on sourceRoot to ensure it is always absolute

* Leave canonicalization to avoid a Path/string union
2018-07-24 14:14:41 -07:00
Wesley Wigham
59854bbd55
Inspect all possible module paths when looking for the best one to create a specifier with (#25850)
* Inspect all possible specifier paths when looking for the best one

* Add missing secondary option from test
2018-07-24 13:56:21 -07:00
Mohamed Hegazy
3502471814
Merge pull request #25901 from Microsoft/fix23339
Add `.mailmap` and `Test-results.xml` to .npmignore
2018-07-24 12:39:45 -07:00
Mohamed Hegazy
4ab17f2afe Add .mailmap and Test-results.xml to .npmignore 2018-07-24 12:19:06 -07:00
Anders Hejlsberg
06a11456cc Accept new baselines 2018-07-24 06:21:12 -07:00
Anders Hejlsberg
8ddeb966f5 Consistently include circularity check in type parameter constraints 2018-07-24 06:19:58 -07:00
Andy
30c41492d9
moduleSpecifiers: Allow "*" as a path mapping (#25881) 2018-07-23 17:11:30 -07:00
Nathan Shively-Sanders
2146a91df3
Simplify getWidenedTypeFromJSSpecialPropertyDeclarations (#25868)
* Split getWidenedTypeFromJSSpecialPropertyDeclaration

1. Handle this-property assignments
2. Handle other special property assignment

I have only started simplifying [2].

* Split into two passes

1. Look for jsdoc
2. Look for type of initializers

Both can be broken into their own functions.

* Break into two functions

* Move back to original function and single loop

Then, convert the 2 extracted functions to reduce-style functions that
take state and return the updated state.

* Cleanup suggestions from review
2018-07-23 15:52:48 -07:00
Matt McCutchen
f72193eedc Report a semantic error for an arrow function with a "this" parameter.
Fixes #9744.
2018-07-23 10:42:56 -04:00
Anders Hejlsberg
d0fc077a59 Accept new baselines 2018-07-21 16:04:35 -07:00
Anders Hejlsberg
303e08fc4f Add regression test 2018-07-21 12:31:24 -07:00
Anders Hejlsberg
c0e0c1c2f3 Revise intersection optimizations to include string, number and symbol 2018-07-21 12:23:02 -07:00
Andy
93722c8942
findAllReferences/rename: Search in all open projects (#25648)
* findAllReferences/rename: Search in all open projects

* Avoid needing a dummy location when location is unused

* Remove Program#getDeclarationEmitPath

* Only iterate over enabled projects
2018-07-20 16:53:59 -07:00
Andy
3d672d9550
Ensure fixSpelling and importFixes still trigger on "Did you mean the instance/static member ..." (#25847) 2018-07-20 16:51:35 -07:00
Mohamed Hegazy
00a64172af
Merge pull request #25680 from a-tarasyuk/bug/25667-getmodifiedtime-has-wrong-return-type
25667 - getModifiedTime has wrong return type
2018-07-20 16:35:43 -07:00
Anders Hejlsberg
7c512fbc41
Merge pull request #25817 from Microsoft/fixGenericRestTypes
Fix generic rest types
2018-07-20 10:57:21 -10:00
Andy
e103692f32
Don't report quickInfo inside a comment in a PropertyAccessExpression (#25813) 2018-07-20 11:49:21 -07:00
Alexander
8c7a1fad25 use missingFileModifiedTime instead check on undefined 2018-07-20 21:30:10 +03:00
Andy
bcd565287c
Remove bad import completions tests (#25816) 2018-07-20 11:11:03 -07:00
Andy
b21c1fd595
errorCodes in CodeFixRequestArgs is non-optional (#25815) 2018-07-20 11:10:33 -07:00
Nathan Shively-Sanders
31d599abaf
Check module.exports (#25732)
* Revert "Revert "Explicitly typed special assignments are context sensitive (#25619)""

This reverts commit 16676f27071721f846369d5a0c0edae676d41cee.

* Revert "Revert "Explicitly typed prototype assignments are context sensitive (#25688)""

This reverts commit ff8c30d636510cd62ae654d659bd80fb7bed3324.

* Initial, wasteful, solution

It burns a check flags. Probably necessary, but perhaps not.

I haven't accepted baselines, but they are a bit questionable. I'm not
sure the synthetic type is right, because I expected to see
{ "exports": typeof import("x") } but instead see { "x": typeof
import("x") }.

* Update some baselines

* module.exports= always uses lhs type

Conflicts between exports property assignments and exports assignments
should get a union type instead of an error.

* Fix lint and accept good user baselines

* Add tests based on user tests.

These currently fail.

* Fix all but 1 of user test bugs found by typing module.exports

Still quite messy and full of notes

* Follow merged symbols+allow any object type

This allows exports like `module.exports = new EE` to have properties
added to them.

Still messy, but I'm going to run user tests and look for regressions.

* Update improved user baselines

* Fix infinite recursion when checking module.exports

* Fix bogus use-before-def error

getExportSymbolOfValueSymbolIfExported should always merge its returned
symbol, whether it's symbol.exportSymbol or just symbol.

* Update user test baselines

* Cleanup

* More small cleanup

* Bind `module` of `module.exports` as a special symbol

Previously it was also special, but created during name resolution in
the checker. It made sense when there was only one special symbol for
all files, but now there is one `module` symbol per file.
2018-07-20 10:59:26 -07:00
Wenlu Wang
fedcd3a1b4 improve completions keyword for function like body (#25824) 2018-07-20 08:25:16 -07:00
Alexander T
8ae163a1cc Merge branch 'master' of https://github.com/Microsoft/TypeScript into bug/25667-getmodifiedtime-has-wrong-return-type 2018-07-20 10:18:22 +03:00
Alexander T
37add88b18 Update tests baselines 2018-07-20 10:17:27 +03:00
csigs
98915693bc
LEGO: Merge pull request 25818
LEGO: Merge pull request 25818
2018-07-19 21:10:53 -07:00
csigs
2c6f265ae0 LEGO: check in for master to temporary branch. 2018-07-20 04:10:29 +00:00
Anders Hejlsberg
949f8d23f6 Accept new baselines 2018-07-19 18:29:39 -07:00
Anders Hejlsberg
b48910413a Add regression test 2018-07-19 18:29:30 -07:00
Anders Hejlsberg
5f2efc223d Properly handle all generic kinds of types in rest positions 2018-07-19 18:29:20 -07:00
Mohamed Hegazy
feca91c67b
Merge pull request #25809 from ajafff/verify-strict-options
correctly detect if strictNullChecks is enabled
2018-07-19 15:56:45 -07:00