Commit Graph
13641 Commits
Author SHA1 Message Date
Andrew Casey 063e8a72ec Merge pull request #18427 from amcasey/GH17869
Forbid extraction of empty spans

(cherry picked from commit be5c00f4c9)
2017-09-19 17:31:20 -07:00
Andrew Casey fbb6cd57c0 Merge pull request #18448 from amcasey/NestedReturn
Only introduce return properties at the top level

(cherry picked from commit 288a57c16d)
2017-09-19 17:31:19 -07:00
Andrew Casey a667b0455d Merge pull request #18423 from amcasey/GH18188
Call getShorthandAssignmentValueSymbol rather than getSymbolAtLocation

(cherry picked from commit aade97111a)
2017-09-19 17:31:19 -07:00
Andrew Casey 334125ed23 Merge pull request #18343 from amcasey/InsertionPosition
Improve insertion position of extracted methods

(cherry picked from commit 40e459117a)
2017-09-19 17:31:18 -07:00
Andrew Casey 12d1ea50ca Merge pull request #18165 from amcasey/GH18144
Simplify and correct PermittedJumps computation

(cherry picked from commit deefb01c9d)
2017-09-19 17:31:18 -07:00
Andrew Casey 2dd647d08c Merge pull request #18164 from amcasey/GH18140
Handle the combination of a write and a void return

(cherry picked from commit 02cfb81ac0)
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 c7b4ed3a91)
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
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 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 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
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
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
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 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
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
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 15a0d3fef4 Update version 2017-08-29 13:17:33 -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 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 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 ba56b62b9f Ensure string enums are generated in protocol.d.ts 2017-08-18 15:38:19 -07:00
Daniel Rosenwasser b3ac765503 Updated version for next publish. 2017-08-18 11:36:27 -07:00
Andy 4e570f0784 Revert public API changes to logger (#17901) 2017-08-18 11:31:10 -07:00