Commit Graph

13904 Commits

Author SHA1 Message Date
Andrew Branch
387c917765 Revert "Proposal: If there’s a package.json, only auto-import things in it, more or less (#31893)" (#32448)
This reverts commit 60a1b1dc1a.
2019-07-17 14:02:18 -07:00
Milosz Piechocki
8f2ed0ded8 addTypeToIntersection performance improvement (#32388) 2019-07-17 13:22:53 -07:00
Andrew Branch
2466109577 Fix build/lint due to differences in master and LKG (#32450) 2019-07-17 13:07:10 -07:00
Ron Buckton
049618f7da Get contextual type of yield from contextual signature of containing function (#32433)
* Get contextual type of yield from contextual signature of containing function

* Add missing baseline
2019-07-16 17:16:21 -07:00
Sheetal Nandi
607c9c5e26 Fix missing tokenToString for the backtick
Fixes #32073
2019-07-16 13:30:38 -07:00
Nathan Shively-Sanders
1de76cd605 Control flow for element access expressions (#31478)
* Control flow for element access expressions

Draft version, just want to see how performance is

* Add baselines

* Fix cast lint

* Cleanup to share code path

* Fix errant diffs
2019-07-16 10:10:58 -07:00
Andrew Branch
7cdfbceb43 Improve accuracy of remove unnecessary await fix (#32384) 2019-07-15 15:17:32 -07:00
Ron Buckton
17762c480d Fall back to (Async)IterableIterator if (Async)Generator not found (#32303) 2019-07-15 13:41:17 -07:00
Anders Hejlsberg
303297aa27 Merge pull request #32362 from microsoft/fix32230
Fix type parameter inference cache invalidation logic
2019-07-12 16:57:34 -07:00
Daniel Rosenwasser
851156d73d Add kind to JsxAttributes (#32369)
Add kind to JsxAttributes
2019-07-12 14:40:30 -07:00
Andrew Branch
4f3412153a Parse quoted constructors as constructors, not methods (#31949)
* Parse quoted constructors as constructors, not methods

* Update baselines

* Fix disambiguation between quoted constructor and property named constructor

* Clean up parsing a bit

* Support escapes in constructor name

* Update baselines
2019-07-12 14:01:57 -07:00
Wesley Wigham
37f2e5972f Cache & widen assigned js prototype type (#32381) 2019-07-12 12:49:34 -07:00
Andrew Branch
89badcc9d5 Add 'Remove unnecessary await' suggestion and fix (#32363)
* Add remove unnecessary await fix

* Add test for removing unnecessary parens after await is gone

* Fix handling of numbers in property access expressions

* Don’t offer suggestion when awaited type is any/unknown

* Fix random other test

* Fix new expression edge cases

* Only remove parens for identifiers and call expressions
2019-07-12 11:03:20 -07:00
Andrew Branch
60a1b1dc1a Proposal: If there’s a package.json, only auto-import things in it, more or less (#31893)
* Move package.json related utils to utilities

* Add failing test

* Make first test pass

* Don’t filter when there’s no package.json, fix scoped package imports

* Use type acquisition as a heuristic for whether a JS project is using node core

* Make same fix in getCompletionDetails

* Fix re-exporting

* Change JS node core module heuristic to same-file utilization

* Remove unused method

* Remove other unused method

* Remove unused triple-slash ref

* Update comment

* Refactor findAlias to forEachAlias to reduce iterations

* Really fix re-exporting

* Use getModuleSpecifier instead of custom hack

* Fix offering auto imports to paths within node modules

* Rename things and make comments better

* Add another reexport test

* Inline `symbolHasBeenSeen`

* Simplify forEachAlias to findAlias

* Add note that symbols is mutated

* Symbol order doesn’t matter here

* Style nits

* Add test with nested package.jsons

* Fix and add tests for export * re-exports
2019-07-12 10:08:55 -07:00
Andrew Branch
71bec5b698 Add quick fix to add missing 'await' (#32356)
* Start prototyping addMissingAwait codefix

* Filter by diagnostics that have missing-await related info

* Start writing tests and checking precedence

* Implement codeFixAll, add test for binary expressions

* Add test for iterables

* Add test for passing argument

* Add test for call/construct signatures

* Add test for awaiting initializer

* Improve assertion error

* Replace specific property access error with general one and add await related info

* Add test for property access

* Require code to be inside a function body to offer await

* Accept suggestion

Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

* Add explicit test for code fix being not available unless something is a Promise

* Skip looking for function body if already in AwaitContext flags

* Inline getCodeActions function for symmetry
2019-07-12 10:07:55 -07:00
Andrew Branch
8516127a05 Fix regression of generic T assignability to Partial<T> (#32354) 2019-07-12 07:57:55 -07:00
David Sherret
84f4acdb89 Add kind to JsxAttributes. 2019-07-11 20:34:41 -04:00
Anders Hejlsberg
0e273c3e07 Fix type parameter inference cache invalidation 2019-07-11 10:45:19 -10:00
Sheetal Nandi
fd4f4fe5a2 Ensure that the filePaths in compiler options are absolute before getting relative path to buildInfo directory
Fixes #32353
2019-07-11 13:18:35 -07:00
Titian Cernicova-Dragomir
d2c9d6cc1b Improved parameter names for call signatures resulting from unions when only one parameter name is available. (#32056) 2019-07-11 10:06:49 -07:00
Andrew Branch
8eb3822ae0 Merge pull request #28290 from rflorian/add-codefix-cannot-find-name-in-for-loop
Add codefix for 'Cannot find name' diagnostic
2019-07-10 21:47:36 -07:00
Wesley Wigham
6839973bf7 Generate a unique type parameter name for each nested type parameter (#31544)
* Generate a unique type parameter name for each nested type parameter

* Add testcase from 31605

* Fix typo

* Liiiiiine eeeendingggggss
2019-07-10 17:12:20 -07:00
Wesley Wigham
daf0a73346 Fix lookup of optional methods in declaration emit (#32094) 2019-07-10 16:39:07 -07:00
Andrew Branch
f41c9b2c20 Rename parameter 2019-07-10 13:34:58 -07:00
Andrew Branch
ab9e583e45 Remove "Did you forget to use await" for unary arithmetic expressions 2019-07-10 13:18:37 -07:00
Andrew Branch
a4cddd4647 Merge pull request #32239 from andrewbranch/enhancement/missing-await-errors
Improve error messages for potentially missing 'await'
2019-07-09 16:28:54 -07:00
Nathan Shively-Sanders
949956b586 Improve multiple overloads error span (#32315)
* Improve multiple overloads error span

When all errors for a multiple-overload error refer to the same span,
use that span instead of the one for the entire call.

This situation is quite common for 2-overload sets in React.

* Update baselines

* Fix lint
2019-07-09 15:39:42 -07:00
Anders Hejlsberg
b0f050f4ee Merge pull request #32260 from microsoft/fix32169
Include conditional types in top-level type parameter check
2019-07-09 10:30:44 -07:00
Andrew Branch
bdd8a3e878 Only add "Did you forget await" for function args when the parameter type is not promise-like 2019-07-08 16:32:53 -07:00
Andrew Branch
64501996cc Update error code 2019-07-08 14:52:23 -07:00
Andrew Branch
6626a99f11 Fix bad rebase 2019-07-08 14:44:57 -07:00
Andrew Branch
eb6b87aa26 Refactor to use related info everywhere 2019-07-08 14:37:45 -07:00
Andrew Branch
094a001982 Did you forget to use await? on arguments of function calls 2019-07-08 14:33:25 -07:00
Andrew Branch
e89a2c4571 Update baselines 2019-07-08 14:03:59 -07:00
Andrew Branch
a3a076d79f Did you forget to use await? for call and construct signatures 2019-07-08 14:01:25 -07:00
Andrew Branch
48fc6b8b17 Did you forget to use await? on iterables 2019-07-08 13:59:59 -07:00
Andrew Branch
c48e34ef91 Did you forget to use await? for operators 2019-07-08 13:50:56 -07:00
Nathan Shively-Sanders
834a476a96 Merge branch 'master' into report-multiple-overload-errors 2019-07-08 09:33:24 -07:00
Anders Hejlsberg
d7f8f0072e Include conditional types in top-level type parameter check 2019-07-04 16:26:54 -10:00
Ron Buckton
e8bf9584aa Improve type checking and inference for Generators and Async Generators (#30790)
* Improve typing for Generators and Async Generators

* Add TReturn and TNext to Iterator, IterableIterator, etc.

* Update ts internal Iterator to be assignable from global Iterator

* Make 'done' optional in IteratorYieldResult

* Revert Iterable and IterableIterator to simpler versions plus other fixes

* Add additional inference tests

* Added additional tests

* PR cleanup and minor async iteration type fix

* Updated diagnostics message and added non-strict tests

* Fix expected arity of Iterator/AsyncIterator
2019-07-03 21:55:59 -07:00
Wesley Wigham
0bea4bd3c9 Widen object literal this types (#32240) 2019-07-03 15:58:21 -07:00
Nathan Shively-Sanders
19b593ee4e Merge branch 'master' into report-multiple-overload-errors 2019-07-03 14:55:06 -07:00
Nathan Shively-Sanders
6f0baa3ae1 Merge pull request #29717 from petersandor/jsdoc-tag-author-email-support
Support email in author JSDoc tag
2019-07-03 10:42:02 -07:00
Andrew Branch
16bbb4d002 Merge pull request #32077 from andrewbranch/bug/31114
Fix incorrect noImplicitAny error on contextual union function signature
2019-07-03 10:10:10 -07:00
Nathan Shively-Sanders
722917f04e Remove TODO 2019-07-03 09:50:03 -07:00
Nathan Shively-Sanders
e62d84cd88 Merge branch 'master' into report-multiple-overload-errors 2019-07-03 09:28:44 -07:00
Anders Hejlsberg
340f81035f Merge pull request #32178 from microsoft/improveTupleDestructuring
Simplify tuple destructuring logic
2019-07-02 17:25:12 -07:00
Anders Hejlsberg
440ed83f29 Merge pull request #32079 from microsoft/instantiationCountLimiter
Add type instantiation count limiter
2019-07-02 17:19:39 -07:00
Anders Hejlsberg
5b24ea80a7 Restore union-like behavior for inference to conditional types 2019-07-01 17:46:50 -10:00
Florian Regensburger
bd9f39dbcc Merge branch 'master' into add-codefix-cannot-find-name-in-for-loop 2019-07-02 00:41:27 +02:00