18931 Commits

Author SHA1 Message Date
Andrew Casey
2dd647d08c Merge pull request #18164 from amcasey/GH18140
Handle the combination of a write and a void return

(cherry picked from commit 02cfb81ac0c9b870d31be14b16b0a08ea24ed32a)
2017-09-19 17:31:17 -07:00
Matt Bierner
d36f254f5e Fix extract method for anon class expressions (#18168)
Check `scope.name` when trying to extract from an anon class

(cherry picked from commit c7b4ed3a91964915b953b34ad2ae72f36e7d6efe)
2017-09-19 17:31:17 -07:00
Andrew Casey
f80995653a Tidy up Extract Method fourslash tests
Partial port of ea4fdc5a9
2017-09-19 17:31:17 -07:00
Mohamed Hegazy
4a63ed7afa Update LKG 2017-09-19 16:12:13 -07:00
Mohamed Hegazy
dac383e402 Fix the version of ts to 2.5 2017-09-19 16:11:29 -07:00
Andy
387fc205d0 Ensure that emitter calls callbacks for empty blocks (#18547) (#18550)
* Ensure that emitter calls callbacks for empty blocks (#18547)

* Fix action description
2017-09-18 11:17:06 -07:00
Andrew Casey
839145cd79 Merge pull request #18517 from amcasey/RequestCountDecr25
Only decrement activeRequestCount on SetTypings responses
2017-09-18 11:00:55 -07:00
Andrew Casey
6ad8adcdfe Drop Debug.fail
...from `release-2.5`.  I'm not 100% confident it won't be hit and we'll
recover if we do.  It's still in master, so dogfooding should flush out
any remaining issues before 2.6.
2017-09-15 15:34:24 -07:00
Andrew Casey
ebee7c62be Only decrement activeRequestCount on SetTypings responses
InvalidateCache responses are triggered by file watchers, rather than by
requests.
2017-09-15 15:32:10 -07:00
Andy
9639b52fcd Fixes to emit / format for codeFix (#18486) 2017-09-14 14:57:03 -07:00
Nathan Shively-Sanders
b62d5f6696 Use createMissingNode for sentinel node 2017-09-14 13:05:56 -07:00
Nathan Shively-Sanders
1cffd5f8aa Add missed baselines 2017-09-14 13:05:30 -07:00
Nathan Shively-Sanders
86d5311feb Don't parse param init when = is required but missing
Makes another test case pass that was taking exponential time to parse,
because now it notices that the = is not present and doesn't even try to
parse the initialiser expression.
2017-09-14 13:05:03 -07:00
Nathan Shively-Sanders
3a25650f1d Fail spec parsing lambdas on parameter missing a =
Fail speculative parsing of arrow function expressions whenever it has a
parameter with an initialiser that is missing '='. Ordinarily this is
allowed for better error recovery in the language service, but for
speculative parsing, the errors can compound. When the initialiser is an
error, and when the '=>' is missing (which is also allowed), what is
putatively an arrow function may actually be something else.

For example, `(a / 8) + function ()
{ }` is currently parsed as if someone had intended to write

`(a = /8)+function()/) => { }` but they forgot the `=` of the
initialiser, the `=>` of the lambda, forgot to close the regular
expression, and mistakenly inserted a newline right after the regular
expression.
2017-09-14 13:04:57 -07:00
Andy
39ecfc0db2 When loading a module from node_modules, get packageId even in the loadModuleFromFile case (#18185) (#18326)
* When loading a module from node_modules, get packageId even in the `loadModuleFromFile` case

* Support packageId for <reference types> too
2017-09-14 11:51:32 -07:00
Andrew Casey
14c860b9cb Don't get typings for projects with disabled language services (#18324) 2017-09-14 11:51:23 -07:00
Andrew Casey
cab65ba4cb Limit the number of unanswered Typings Installer requests (#18321)
* Document ThrottledOperations.schedule

* Limit the number of unanswered typings installer requests

If we send them all at once, we (apparently) hit a buffer limit in the
node IPC channel and both TS Server and the typings installer become
unresponsive.

* Fix lint issues

* Add explanatory comment
2017-09-14 11:51:10 -07:00
Andy
74a7588f4d extractMethod: Don't try to extract an ExpressionStatement consisting of a single token (#18450) (#18473)
* extractMethod: Don't try to extract an ExpressionStatement consisting of a single token

* Move to unit test
2017-09-14 11:35:38 -07:00
Mohamed Hegazy
a2c56e0f9d Update LKG 2017-09-09 22:27:47 -07:00
Andy
b1e9446ee0 extractMethod: Don't try to extract a single token (#18090)
* extractMethod: Don't try to extract a single token

* Update tests
2017-09-09 22:24:55 -07:00
Mohamed Hegazy
1c7a29eeb3 Port fixes from master into release-2.5 (#18361)
* Test: parsing of two-line @typedef jsdoc

* Fix forEachChild's visit of JSDocTypedefTag

Also remove JSDocTypeLiteral.jsdocTypeTag, which made no sense since it
was only useful when storing information for its parent `@typedef` tag.

* Update baselines

* Inline variable to aid control flow

* Improved caching scheme for anonymous types

* Fix signature help

* Optimize caching of type literals

* Accept new baselines

* Fix linting errors

* Use canonicalized forms when comparing signatures

* Minor changes

* Document ThrottledOperations.schedule

* Limit the number of unanswered typings installer requests

If we send them all at once, we (apparently) hit a buffer limit in the
node IPC channel and both TS Server and the typings installer become
unresponsive.

* Fix lint issues

* Add explanatory comment
2017-09-09 12:54:30 -07:00
Mohamed Hegazy
c476a08188 Update LKG 2017-09-08 17:34:24 -07:00
Andy
9434a81b71 extractMethod: Support renameLocation (#18351) 2017-09-08 17:09:17 -07:00
Nathan Shively-Sanders
236eb1e0f8 Rename isStartOfType parameter used by isStartOfParameter 2017-09-08 09:00:47 -07:00
Nathan Shively-Sanders
7f639cc34b Test:disable lookahead in isStartOfParameter 2017-09-08 09:00:41 -07:00
Nathan Shively-Sanders
d3ce606fc4 Disable lookahead in isStartOfParameter/isStartOfType 2017-09-08 09:00:34 -07:00
Mohamed Hegazy
655145ca58 Update LKG 2017-09-07 16:48:33 -07:00
Mohamed Hegazy
8aaace0ac8 Update version 2017-09-07 16:23:31 -07:00
Andy
f5b9e30986 Ensure that emitter calls callbacks (#18284) (#18325)
* Ensure that emitter calls calbacks

* Move new parameter to end of parameters

* Fix for ConditionalExpression

* Make suggested changes to emitter

* Fix parameter ordering

* Respond to minor comments

* Remove potentially expensive assertion

* More emitter cleanup
2017-09-07 16:21:51 -07:00
Wesley Wigham
16a4997565 Fix 18224 (#18259) (#18292)
* Probably fix 18224

* Corrected test
2017-09-06 22:09:38 -07:00
Nathan Shively-Sanders
0ff8eeb308 Comment getTypeReferenceId and getRelationKey 2017-08-31 13:51:55 -07:00
Nathan Shively-Sanders
05477e4d00 Update baselines 2017-08-31 13:51:44 -07:00
Nathan Shively-Sanders
f3700f645d Test performance improvement:nested reference skip 2017-08-31 13:51:35 -07:00
Anders Hejlsberg
2510177593 Fix to use correct target type ID 2017-08-31 13:51:29 -07:00
Anders Hejlsberg
4925f2f05f Optimize relations for type references with unconstrained type arguments 2017-08-31 13:51:24 -07:00
Mohamed Hegazy
171c664fef Update LKG v2.5.2 2017-08-29 17:26:58 -07:00
Ryan Cavanaugh
20da1594fd Merge pull request #18127 from RyanCavanaugh/port18120_release25
Don't crash when a JS file appears in an inferred context
2017-08-29 14:54:14 -07:00
Ryan Cavanaugh
6425ea29c9 Don't crash when a JS file appears in an inferred context 2017-08-29 14:31:28 -07:00
Mohamed Hegazy
6ffe829e9d Update LKG 2017-08-29 13:19:51 -07:00
Mohamed Hegazy
15a0d3fef4 Update version 2017-08-29 13:17:33 -07:00
Mohamed Hegazy
2a2773fbb4 Update LKG 2017-08-25 15:36:13 -07:00
Ron Buckton
187a21cbac Fix crash in name resolution with custom transforms and emitDecoratorMetadata 2017-08-25 15:14:54 -07:00
Andy
62678cd736 Don't try to extract import to a method: simpler fix (#18054) 2017-08-25 15:12:21 -07:00
Andy
3644771ab6 Test for action description of code actions, and simplify description for extracting method to file (#18030) (#18044)
* Test for action description of code actions, and simplify description for extracting method to file

* Add unit test file missing from tsconfig.json (only affects gulp) and update tests

* Use the actual number

* Use "module scope" or "global scope" instead of "this file"
2017-08-25 14:11:52 -07:00
Wesley Wigham
a39ae1fab7 Fix crash when attempting to merge an import with a local declaration (#18032) (#18034)
* There should be no crash when attempting to merge an import with a local declaration

* Show symbol has actually merged within the module
2017-08-24 23:58:20 -07:00
Wesley Wigham
350c9f647b Call dynamic import transform on expression used by export equal statement (#18028) (#18033)
* Call dynamic import transform on expression used by export equal statement

* Use Debug.fail
2017-08-24 17:59:45 -07:00
Ron Buckton
0851f6909e Added additional test 2017-08-24 17:02:52 -07:00
Ron Buckton
01b7df6855 Switch to arrow for ts class wrapper IIFE 2017-08-24 17:02:44 -07:00
Ron Buckton
9bb1915851 PR feedback 2017-08-24 17:01:28 -07:00
Ron Buckton
ec8f5cfe3f Follow symbol through commonjs require for inferred class type 2017-08-24 17:01:21 -07:00