diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/actual.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/actual.js new file mode 100644 index 0000000000..4ec0aa84b9 --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/actual.js @@ -0,0 +1,3 @@ +Object.keys({}); + +function * fn(){} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js new file mode 100644 index 0000000000..e7ca8a685c --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/expected.js @@ -0,0 +1,27 @@ +"use strict"; + +var _regenerator = require("babel-runtime/regenerator"); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +var _keys = require("babel-runtime/core-js/object/keys"); + +var _keys2 = _interopRequireDefault(_keys); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var _marked = [fn].map(_regenerator2.default.mark); + +(0, _keys2.default)({}); + +function fn() { + return _regenerator2.default.wrap(function fn$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } + } + }, _marked[0], this); +} diff --git a/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/options.json b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/options.json new file mode 100644 index 0000000000..71063dfba5 --- /dev/null +++ b/packages/babel-plugin-transform-regenerator/test/fixtures/regression/T7041/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-regenerator", "transform-runtime"] +} diff --git a/packages/babel-traverse/src/path/modification.js b/packages/babel-traverse/src/path/modification.js index c8fd89f996..ce141aa6c5 100644 --- a/packages/babel-traverse/src/path/modification.js +++ b/packages/babel-traverse/src/path/modification.js @@ -47,6 +47,7 @@ export function _containerInsert(from, nodes) { if (this.context) { let path = this.context.create(this.parent, this.container, to, this.listKey); + path.pushContext(this.context); paths.push(path); } else { paths.push(NodePath.get({