18919 Commits

Author SHA1 Message Date
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
Mohamed Hegazy
1420fbc2d4 Bind logger function before using (#17983)
* Bind logger function before using

* Use lambda isntead of bind
2017-08-23 12:35:34 -07:00
Wesley Wigham
34e42097e4 Allow use before declaration for export= assignments (#17967) (#17972)
* Allow use before declaration for export= assignments (#17967)

* Add release-2.5 to covered branches
2017-08-23 10:03:46 -07:00
Mohamed Hegazy
f5698fc9ab Merge branch 'EmitStringEnumsInProtocol' into release-2.5 2017-08-18 15:43:45 -07:00
Mohamed Hegazy
3e5de59123 Update LKG 2017-08-18 15:40:48 -07:00
Mohamed Hegazy
ba56b62b9f Ensure string enums are generated in protocol.d.ts 2017-08-18 15:38:19 -07:00
Daniel Rosenwasser
baeedab96c Accepted LKG v2.5.1 2017-08-18 11:47:41 -07:00