Merge branch 'master' into experimental

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
This commit is contained in:
Sebastian McKenzie
2015-03-25 14:17:46 +11:00
6 changed files with 44 additions and 6 deletions

View File

@@ -13,6 +13,12 @@ _Note: Gaps between patch versions are faulty/broken releases._
See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
## 4.7.16
* **Bug Fix**
* Fix constructor spreading of typed arrays.
* Fix break/continue/return aliasing of non-loops in block scoping transformer.
## 4.7.15
* **Bug Fix**

View File

@@ -1,7 +1,7 @@
{
"name": "babel",
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
"version": "4.7.15",
"version": "4.7.16",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"homepage": "https://babeljs.io/",
"repository": "babel/babel",

View File

@@ -1,7 +1,7 @@
{
"name": "babel-runtime",
"description": "babel selfContained runtime",
"version": "4.7.15",
"version": "4.7.16",
"repository": "babel/babel",
"author": "Sebastian McKenzie <sebmck@gmail.com>",
"dependencies": {

View File

@@ -527,10 +527,6 @@ class BlockScoping {
}
if (has.hasBreakContinue) {
if (!loop) {
throw new Error("Aren't in a loop and we're trying to reassign breaks and continues, something is going wrong here.");
}
for (var key in has.map) {
cases.push(t.switchCase(t.literal(key), [has.map[key]]));
}

View File

@@ -0,0 +1,14 @@
foo.func1 = function() {
if (cond1) {
for (;;) {
if (cond2) {
function func2() {}
function func3() {}
func4(function() {
func2();
});
break;
}
}
}
};

View File

@@ -0,0 +1,22 @@
"use strict";
foo.func1 = function () {
if (cond1) {
for (;;) {
if (cond2) {
var _ret = (function () {
var func2 = function () {};
var func3 = function () {};
func4(function () {
func2();
});
return "break";
})();
if (_ret === "break") break;
}
}
}
};