close iterators on abrupt completion - google/traceur-compiler#1773 #838
This commit is contained in:
parent
5d90c442cb
commit
a9db70b60d
@ -1,3 +1,21 @@
|
|||||||
for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(STEP_KEY = ITERATOR_KEY.next()).done; ) {
|
var ITERATOR_COMPLETION = true;
|
||||||
|
var ITERATOR_HAD_ERROR_KEY = false;
|
||||||
|
var ITERATOR_ERROR_KEY = undefined;
|
||||||
|
try {
|
||||||
|
for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done); ITERATOR_COMPLETION = true) {
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
ITERATOR_HAD_ERROR_KEY = true;
|
||||||
|
ITERATOR_ERROR_KEY = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {
|
||||||
|
ITERATOR_KEY.return();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (ITERATOR_HAD_ERROR_KEY) {
|
||||||
|
throw ITERATOR_ERROR_KEY;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,7 @@ exports.ForOfStatement = function (node, parent, scope, file) {
|
|||||||
// todo: find out why this is necessary? #538
|
// todo: find out why this is necessary? #538
|
||||||
loop._scopeInfo = node._scopeInfo;
|
loop._scopeInfo = node._scopeInfo;
|
||||||
|
|
||||||
return loop;
|
return build.node;
|
||||||
};
|
};
|
||||||
|
|
||||||
var breakVisitor = {
|
var breakVisitor = {
|
||||||
@ -113,6 +113,7 @@ var loose = function (node, parent, scope, file) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
declar: declar,
|
declar: declar,
|
||||||
|
node: loop,
|
||||||
loop: loop
|
loop: loop
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -140,12 +141,18 @@ var spec = function (node, parent, scope, file) {
|
|||||||
|
|
||||||
var iteratorKey = scope.generateUidIdentifier("iterator");
|
var iteratorKey = scope.generateUidIdentifier("iterator");
|
||||||
|
|
||||||
var loop = util.template("for-of", {
|
var node = util.template("for-of", {
|
||||||
ITERATOR_KEY: iteratorKey,
|
ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"),
|
||||||
STEP_KEY: stepKey,
|
ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"),
|
||||||
OBJECT: node.right
|
ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"),
|
||||||
|
ITERATOR_KEY: iteratorKey,
|
||||||
|
STEP_KEY: stepKey,
|
||||||
|
OBJECT: node.right,
|
||||||
|
BODY: null
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var loop = node[3].block.body[0];
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
scope.traverse(node, breakVisitor, {
|
scope.traverse(node, breakVisitor, {
|
||||||
@ -160,6 +167,7 @@ var spec = function (node, parent, scope, file) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
declar: declar,
|
declar: declar,
|
||||||
loop: loop
|
loop: loop,
|
||||||
|
node: node
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,14 +1,33 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var x;
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
(function () {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
x = 5;
|
var x;
|
||||||
|
|
||||||
fns.push(function () {
|
(function () {
|
||||||
return i * x;
|
var i = _step.value;
|
||||||
});
|
x = 5;
|
||||||
})();
|
|
||||||
}
|
fns.push(function () {
|
||||||
|
return i * x;
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,10 +2,29 @@
|
|||||||
|
|
||||||
var _slicedToArray = function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { _arr.push(_step.value); if (i && _arr.length === i) break; } return _arr; } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } };
|
var _slicedToArray = function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { var _arr = []; for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) { _arr.push(_step.value); if (i && _arr.length === i) break; } return _arr; } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } };
|
||||||
|
|
||||||
for (var _iterator = test.expectation.registers[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var _step$value = _slicedToArray(_step.value, 3);
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
var name = _step$value[0];
|
try {
|
||||||
var before = _step$value[1];
|
for (var _iterator = test.expectation.registers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
var after = _step$value[2];
|
var _step$value = _slicedToArray(_step.value, 3);
|
||||||
}
|
|
||||||
|
var name = _step$value[0];
|
||||||
|
var before = _step$value[1];
|
||||||
|
var after = _step$value[2];
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,44 +2,135 @@
|
|||||||
|
|
||||||
// labels
|
// labels
|
||||||
|
|
||||||
foo: for (var _iterator = foo()[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
foo: {
|
||||||
var x = _step.value;
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
while (true) {
|
try {
|
||||||
if (_iterator["return"]) _iterator["return"]();
|
for (var _iterator = foo()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var x = _step.value;
|
||||||
|
|
||||||
break foo;
|
while (true) {
|
||||||
|
break foo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}foo: {
|
||||||
|
var _iteratorNormalCompletion2 = true;
|
||||||
|
var _didIteratorError2 = false;
|
||||||
|
var _iteratorError2 = undefined;
|
||||||
|
|
||||||
foo: for (var _iterator2 = foo()[Symbol.iterator](), _step2; !(_step2 = _iterator2.next()).done;) {
|
try {
|
||||||
var x = _step2.value;
|
for (var _iterator2 = foo()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
||||||
|
var x = _step2.value;
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError2 = true;
|
||||||
|
_iteratorError2 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
|
||||||
|
_iterator2["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError2) {
|
||||||
|
throw _iteratorError2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}foo: {
|
||||||
|
var _iteratorNormalCompletion3 = true;
|
||||||
|
var _didIteratorError3 = false;
|
||||||
|
var _iteratorError3 = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator3 = foo()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
|
||||||
|
var x = _step3.value;
|
||||||
|
|
||||||
|
break foo;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError3 = true;
|
||||||
|
_iteratorError3 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion3 && _iterator3["return"]) {
|
||||||
|
_iterator3["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError3) {
|
||||||
|
throw _iteratorError3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // basic
|
||||||
|
|
||||||
|
var _iteratorNormalCompletion4 = true;
|
||||||
|
var _didIteratorError4 = false;
|
||||||
|
var _iteratorError4 = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator4 = foo()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
|
||||||
|
var x = _step4.value;
|
||||||
|
|
||||||
while (true) {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} catch (err) {
|
||||||
|
_didIteratorError4 = true;
|
||||||
foo: for (var _iterator3 = foo()[Symbol.iterator](), _step3; !(_step3 = _iterator3.next()).done;) {
|
_iteratorError4 = err;
|
||||||
var x = _step3.value;
|
} finally {
|
||||||
if (_iterator3["return"]) _iterator3["return"]();
|
try {
|
||||||
|
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
|
||||||
break foo;
|
_iterator4["return"]();
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
// basic
|
if (_didIteratorError4) {
|
||||||
|
throw _iteratorError4;
|
||||||
for (var _iterator4 = foo()[Symbol.iterator](), _step4; !(_step4 = _iterator4.next()).done;) {
|
}
|
||||||
var x = _step4.value;
|
|
||||||
if (_iterator4["return"]) _iterator4["return"]();
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var _iterator5 = foo()[Symbol.iterator](), _step5; !(_step5 = _iterator5.next()).done;) {
|
|
||||||
var x = _step5.value;
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _iteratorNormalCompletion5 = true;
|
||||||
|
var _didIteratorError5 = false;
|
||||||
|
var _iteratorError5 = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator5 = foo()[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
|
||||||
|
var x = _step5.value;
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError5 = true;
|
||||||
|
_iteratorError5 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
|
||||||
|
_iterator5["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError5) {
|
||||||
|
throw _iteratorError5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
i = _step.value;
|
var _didIteratorError = false;
|
||||||
}
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var i = _step.value;
|
var _didIteratorError = false;
|
||||||
}
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
obj.prop = _step.value;
|
var _didIteratorError = false;
|
||||||
}
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
obj.prop = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,9 +1,47 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var i = _step.value;
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var _iterator2 = numbers[Symbol.iterator](), _step2; !(_step2 = _iterator2.next()).done;) {
|
var _iteratorNormalCompletion2 = true;
|
||||||
var i = _step2.value;
|
var _didIteratorError2 = false;
|
||||||
}
|
var _iteratorError2 = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator2 = numbers[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
||||||
|
var i = _step2.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError2 = true;
|
||||||
|
_iteratorError2 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
|
||||||
|
_iterator2["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError2) {
|
||||||
|
throw _iteratorError2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var i = _step.value;
|
var _didIteratorError = false;
|
||||||
}
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = arr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -5,15 +5,33 @@ function add() {
|
|||||||
|
|
||||||
return (function () {
|
return (function () {
|
||||||
var _ref = [];
|
var _ref = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
_ref.push(i * _arguments[0]);
|
_ref.push(i * _arguments[0]);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _ref;
|
return _ref;
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
add(5);
|
add(5);
|
||||||
@ -2,14 +2,32 @@
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
if (i > 1) {
|
if (i > 1) {
|
||||||
_arr.push(i * i);
|
_arr.push(i * i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
@ -2,12 +2,30 @@
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
_arr.push(i * i);
|
_arr.push(i * i);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
@ -2,18 +2,54 @@
|
|||||||
|
|
||||||
var seattlers = (function () {
|
var seattlers = (function () {
|
||||||
var _seattlers = [];
|
var _seattlers = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = countries[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var customers = _step.value;
|
for (var _iterator = countries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var customers = _step.value;
|
||||||
|
var _iteratorNormalCompletion2 = true;
|
||||||
|
var _didIteratorError2 = false;
|
||||||
|
var _iteratorError2 = undefined;
|
||||||
|
|
||||||
for (var _iterator2 = customers[Symbol.iterator](), _step2; !(_step2 = _iterator2.next()).done;) {
|
try {
|
||||||
var c = _step2.value;
|
for (var _iterator2 = customers[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
||||||
|
var c = _step2.value;
|
||||||
|
|
||||||
if (c.city == "Seattle") {
|
if (c.city == "Seattle") {
|
||||||
_seattlers.push({ name: c.name, age: c.age });
|
_seattlers.push({ name: c.name, age: c.age });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError2 = true;
|
||||||
|
_iteratorError2 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
|
||||||
|
_iterator2["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError2) {
|
||||||
|
throw _iteratorError2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _seattlers;
|
return _seattlers;
|
||||||
})();
|
})();
|
||||||
@ -2,16 +2,52 @@
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = "abcdefgh".split("")[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var x = _step.value;
|
for (var _iterator = "abcdefgh".split("")[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var x = _step.value;
|
||||||
|
var _iteratorNormalCompletion2 = true;
|
||||||
|
var _didIteratorError2 = false;
|
||||||
|
var _iteratorError2 = undefined;
|
||||||
|
|
||||||
for (var _iterator2 = "12345678".split("")[Symbol.iterator](), _step2; !(_step2 = _iterator2.next()).done;) {
|
try {
|
||||||
var y = _step2.value;
|
for (var _iterator2 = "12345678".split("")[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
||||||
|
var y = _step2.value;
|
||||||
|
|
||||||
_arr.push(x + y);
|
_arr.push(x + y);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError2 = true;
|
||||||
|
_iteratorError2 = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion2 && _iterator2["return"]) {
|
||||||
|
_iterator2["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError2) {
|
||||||
|
throw _iteratorError2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
@ -2,14 +2,32 @@
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = nums[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = nums[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
if (i > 1) {
|
if (i > 1) {
|
||||||
_arr.push(i * i);
|
_arr.push(i * i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
@ -2,12 +2,30 @@
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = nums[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = nums[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
_arr.push(i * i);
|
_arr.push(i * i);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
@ -5,15 +5,33 @@ function add() {
|
|||||||
|
|
||||||
return (function () {
|
return (function () {
|
||||||
var _ref = [];
|
var _ref = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = [1, 2, 3][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
_ref.push(i * _this.multiplier);
|
_ref.push(i * _this.multiplier);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _ref;
|
return _ref;
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
|
|
||||||
add.call({ multiplier: 5 });
|
add.call({ multiplier: 5 });
|
||||||
@ -2,6 +2,25 @@
|
|||||||
|
|
||||||
var _core = require("babel-runtime/core-js")["default"];
|
var _core = require("babel-runtime/core-js")["default"];
|
||||||
|
|
||||||
for (var _iterator = _core.$for.getIterator(arr), _step; !(_step = _iterator.next()).done;) {
|
var _iteratorNormalCompletion = true;
|
||||||
var i = _step.value;
|
var _didIteratorError = false;
|
||||||
}
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = _core.$for.getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,12 +4,30 @@ var _core = require("babel-runtime/core-js")["default"];
|
|||||||
|
|
||||||
var arr = (function () {
|
var arr = (function () {
|
||||||
var _arr = [];
|
var _arr = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
for (var _iterator = _core.$for.getIterator(nums), _step; !(_step = _iterator.next()).done;) {
|
try {
|
||||||
var i = _step.value;
|
for (var _iterator = _core.$for.getIterator(nums), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var i = _step.value;
|
||||||
|
|
||||||
_arr.push(i * i);
|
_arr.push(i * i);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator["return"]) {
|
||||||
|
_iterator["return"]();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return _arr;
|
return _arr;
|
||||||
})();
|
})();
|
||||||
Loading…
x
Reference in New Issue
Block a user