Spec compatibility for iteratorClose condition. (#6094)
* for-of: IteratorClose spec compatibility. See #3: https://tc39.github.io/ecma262/#sec-iteratorclose * Update spec fixtures for for-of. * Fix IteratorClose case for remap-async-to-generator. * Fix IteratorClose case for async-generator-function test output. * Modify few tests according to iteratorClose fix. * Fix iteratorClose for helpers.slicedToArray also. * Update iteratorClose fixture for commonjs.
This commit is contained in:
parent
827d84536a
commit
b2b3d7944a
@ -22,7 +22,7 @@ const awaitTemplate = `
|
|||||||
ITERATOR_ERROR_KEY = err;
|
ITERATOR_ERROR_KEY = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {
|
if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {
|
||||||
yield AWAIT(ITERATOR_KEY.return());
|
yield AWAIT(ITERATOR_KEY.return());
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -542,7 +542,7 @@ helpers.slicedToArray = template(`
|
|||||||
_e = err;
|
_e = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_n && _i["return"]) _i["return"]();
|
if (!_n && _i["return"] != null) _i["return"]();
|
||||||
} finally {
|
} finally {
|
||||||
if (_d) throw _e;
|
if (_d) throw _e;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ babelHelpers.asyncToGenerator(function* () {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
yield _iterator.return();
|
yield _iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -14,7 +14,7 @@ let f = (() => {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
yield _iterator.return();
|
yield _iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -14,7 +14,7 @@ let g = (() => {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
yield babelHelpers.asyncGenerator.await(_iterator.return());
|
yield babelHelpers.asyncGenerator.await(_iterator.return());
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -17,7 +17,7 @@ let f = (() => {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
yield _iterator.return();
|
yield _iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -14,7 +14,7 @@ babelHelpers.asyncToGenerator(function* () {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
yield _iterator.return();
|
yield _iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -27,7 +27,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -26,7 +26,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export default function({ messages, template, types: t }) {
|
|||||||
ITERATOR_ERROR_KEY = err;
|
ITERATOR_ERROR_KEY = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {
|
if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {
|
||||||
ITERATOR_KEY.return();
|
ITERATOR_KEY.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -18,7 +18,7 @@ function a(b) {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -13,7 +13,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -16,7 +16,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -34,7 +34,7 @@ try {
|
|||||||
_iteratorError2 = err;
|
_iteratorError2 = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion2 && _iterator2.return) {
|
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
||||||
_iterator2.return();
|
_iterator2.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -19,7 +19,7 @@ try {
|
|||||||
_iteratorError2 = err;
|
_iteratorError2 = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion2 && _iterator2.return) {
|
if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
|
||||||
_iterator2.return();
|
_iterator2.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@ -34,7 +34,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
||||||
|
|
||||||
var _foo = require("foo");
|
var _foo = require("foo");
|
||||||
|
|
||||||
|
|||||||
@ -164,7 +164,7 @@ function forOf() {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -12,7 +12,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@ -21,7 +21,7 @@ try {
|
|||||||
_iteratorError = err;
|
_iteratorError = err;
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (!_iteratorNormalCompletion && _iterator.return) {
|
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
||||||
_iterator.return();
|
_iterator.return();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user