Nathan Shively-Sanders
01969475cf
Improve nested destructuring test for ESNext emit
...
Now with object destructuring inside array destructuring inside object
destructuring! Each with their own array/object rest!
Also updates baselines.
2016-11-09 10:51:56 -08:00
Nathan Shively-Sanders
214ce38a6a
Downlevel array destructuring to ES6 in object rest
...
Previously array destructuring inside an object destructuring with an
object rest would downlevel the array destructuring to ES5. This breaks
if the code that targets ES2015 is using iterators instead of arrays
since iterators don't support [0] or .slice that the ES5 emit uses.
2016-11-09 10:47:54 -08:00
Nathan Shively-Sanders
9977936190
Do not emit __rest for --target esnext
2016-11-07 11:34:37 -08:00
Nathan Shively-Sanders
609cd0016b
Merge branch 'object-spread' into object-rest
2016-11-07 11:10:29 -08:00
Nathan Shively-Sanders
f03fecbd31
Merge branch 'master' into object-spread
2016-11-07 11:02:49 -08:00
Nathan Shively-Sanders
83e95d43f8
Revert unneeded change and comments per PR
2016-11-07 11:00:24 -08:00
Nathan Shively-Sanders
d4a5b0855c
Add --target esnext tests and update baselines
2016-11-07 09:56:48 -08:00
Nathan Shively-Sanders
7b9a42f995
Add --target esnext
...
Currently, this disables the rest and spread transforms. This will
change as proposals enter and leave stage 3.
2016-11-07 09:54:48 -08:00
Nathan Shively-Sanders
6a82ae4cbb
Add SpreadAssignment to visitors
...
1. visitNode
2. reduceNode
3. emit
This fixes an emit bug for setters.
2016-11-07 09:04:00 -08:00
Nathan Shively-Sanders
a84c7aeea4
Rename SpreadElementExpression -> SpreadAssignment
...
and SpreadExpression (formerly SpreadElementExpression) -> SpreadElement
2016-11-07 08:36:03 -08:00
Vladimir Matveev
ed4fead087
add missing bind calls to properly set parent on token nodes ( #12057 )
2016-11-04 21:54:22 -07:00
Nathan Shively-Sanders
a55ed26d2b
Spread any types to any
2016-11-04 16:06:33 -07:00
Nathan Shively-Sanders
4c365bd76a
Move transformFunctionBody to factory
...
It is shared by es2015 and esNext transformers.
This commit just adds a convertObjectRest flag to be passed on to
flattenDestructuring functions, as well as adding necessary parameters
to use the code outside a transformer.
2016-11-04 13:56:28 -07:00
Nathan Shively-Sanders
4337369ed4
Update improved baselines
2016-11-04 11:07:18 -07:00
Nathan Shively-Sanders
cc342d12e7
Move convertForOf to factory for esnext and es2015
...
Saves a lot of duplicated code
2016-11-04 11:06:56 -07:00
Sheetal Nandi
4a906143c6
Merge pull request #11998 from Microsoft/unusedProperty
...
Mark property referenced in the destructuring as referenced
2016-11-04 10:42:05 -07:00
Nathan Shively-Sanders
71f3157a35
Address PR comments
...
1. Remove extra line in __rest shim.
2. Improve __rest vs __assign check for destructuring assignment.
2016-11-04 09:03:03 -07:00
Ron Buckton
defc0537ae
Merge pull request #12039 from Microsoft/fix12010
...
Ensure transformFlags are correct before visiting a node.
2016-11-03 23:38:52 -07:00
Zhengbo Li
1c004bf317
Port #12027 , #11980 and #11932 to master ( #12037 )
...
* add test for the fix for overwrite emitting error
* cr feedback
2016-11-03 21:13:41 -07:00
Ron Buckton
cbec19afd7
Ensure transformFlags are correct before visiting a node.
2016-11-03 17:21:36 -07:00
Nathan Shively-Sanders
c9c5f49a24
Improve readability of ES next destructuring emit
2016-11-03 13:36:35 -07:00
Nathan Shively-Sanders
14f8b9990f
Update objectRestAssignment test
...
Missed previously, just got the baselines
2016-11-03 13:33:16 -07:00
Anders Hejlsberg
702efd559b
Merge pull request #12026 from Microsoft/keyofAndConstraints
...
Fix 'keyof' for constrained type parameters
2016-11-03 11:34:08 -07:00
Anders Hejlsberg
48f2b78125
Merge branch 'master' into keyofAndConstraints
2016-11-03 11:21:13 -07:00
Andy
9705791309
Merge pull request #12021 from Microsoft/tslint_version
...
Lock tslint version to 4.0.0-dev.0, because 4.0.0-dev.1 complains about unnecessary semicolons following properties
2016-11-03 11:07:25 -07:00
Anders Hejlsberg
6a5de5d00e
Fix linting errors
2016-11-03 10:55:58 -07:00
Nathan Shively-Sanders
7ed52044d1
Update objectRestAssignment test and baselines
2016-11-03 10:54:07 -07:00
Nathan Shively-Sanders
7ff8876096
Merge branch 'object-spread' into object-rest-syntax
2016-11-03 10:12:45 -07:00
Anders Hejlsberg
d9b0b637e3
Accept new baselines
2016-11-03 10:01:53 -07:00
Anders Hejlsberg
4019265fe1
Update tests
2016-11-03 10:01:42 -07:00
Anders Hejlsberg
83abd048b5
Correct assignability for keyof types and type parameters
2016-11-03 10:01:27 -07:00
Nathan Shively-Sanders
7a2c7ad374
Spread handles index signatures from singleton spreads
...
I broke it when simplifying the logic earlier.
2016-11-03 09:41:31 -07:00
Nathan Shively-Sanders
a077fd104a
Remove spread type tests from spread tests
2016-11-03 09:39:58 -07:00
Andy Hanson
e8c3d62d99
Lock tslint version to 4.0.0-dev.0, because 4.0.0-dev.1 complains about unnecessary semicolons following properties
2016-11-03 08:14:40 -07:00
Nathan Shively-Sanders
a6320203be
Fix lint
2016-11-02 16:31:04 -07:00
Nathan Shively-Sanders
334820c357
Remove spread types, leaving spread syntax/emit
...
Spreads are still typed, but cannot be created from a non-object type.
Tests still need to be updated.
2016-11-02 16:26:34 -07:00
Nathan Shively-Sanders
9d4ddb68c7
Update baselines
2016-11-02 14:57:18 -07:00
Nathan Shively-Sanders
ac20b46f4f
Add rest tests
2016-11-02 14:56:58 -07:00
Nathan Shively-Sanders
e3a08ed663
Downlevel emit of rest elements
2016-11-02 14:56:01 -07:00
Nathan Shively-Sanders
a7c18367ca
Parse, bind and check rest elements
2016-11-02 14:55:24 -07:00
Vladimir Matveev
ab75ea75d3
module resolution: prefer locally defined ambient modules, reuse resolutions to ambient modules from the old program ( #11999 )
...
module resolution: prefer locally defined ambient modules, reuse resolutions to ambient modules from the old program
2016-11-02 14:41:26 -07:00
Nathan Shively-Sanders
f65dd2101c
Test index [access] types inside spread types
2016-11-02 11:37:52 -07:00
Nathan Shively-Sanders
f2d739ffcf
Spread types handle nested index [access] types
...
Nested index [access] types are treated as assignable to themselves only,
just like type parameters.
2016-11-02 11:36:25 -07:00
Sheetal Nandi
13e8f7fada
Mark property referenced in the destructuring as referenced
...
Fixes #11324
2016-11-02 11:08:34 -07:00
Sheetal Nandi
116c87819a
Test case for property used in destructuring variable declaration
2016-11-02 11:07:33 -07:00
Nathan Shively-Sanders
2ae6ecc1a5
Merge branch 'master' into object-spread
2016-11-02 10:57:20 -07:00
Anders Hejlsberg
7b34b612be
Merge pull request #11929 from Microsoft/keyoftypes
...
Static types for dynamically named properties
2016-11-02 09:36:54 -07:00
Anders Hejlsberg
4bbe29ab73
Adding tests
2016-11-02 09:13:45 -07:00
Anders Hejlsberg
70fc25a45a
Minor fixes
2016-11-02 09:02:05 -07:00
Mohamed Hegazy
6b94bae437
Fix #11396 : Make error message referene Promise explicitly ( #11982 )
...
* Simplify the checking for async function return type
* Fix https://github.com/Microsoft/TypeScript/issues/11396 : Make error message referene `Promise` explicitly
2016-11-01 17:03:56 -07:00