Commit Graph

18925 Commits

Author SHA1 Message Date
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
Ryan Cavanaugh 13eeb34e57 Ignore scripts for types packages (#17969) 2017-08-24 11:31:21 -07:00
Jan Melcher d48ac07e14 Add test case for nested object spread / methods
See #16765.
2017-08-24 11:25:48 -07:00
Jan Melcher 09e7e88a19 Add missing visitNode call to object literal members
Object literal elements that are neither spread elements, nor property assignments would not have visitNode called on them. Therefore, the esnext transformer would not be called on them and their children.

Fixes #16765.
2017-08-24 11:25:33 -07:00
Ron Buckton 80601fccb5 Fix crash when exporting class without name 2017-08-24 11:07:30 -07:00
Ron Buckton 952e9cae70 Remove debug assertions due to invalid syntax in generators transform 2017-08-24 11:05:49 -07:00
Mohamed Hegazy 6da73b05f9 Port #17771 to release-2.5 (#18018)
* No contextual return type when type is circular

* Add regression test
2017-08-24 11:03:43 -07:00