Fix scope of function body when var redeclares param (#11158)
* Fix scope of function body when var redeclares param * Fix empty var declarations * Apply suggestions
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
function a() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
function foo() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
return function () {
|
||||
function a() {}
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
function f(a = 2, b = 3) {
|
||||
var a, b = 4;
|
||||
var a;
|
||||
var b;
|
||||
return a + b;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
var b = 4;
|
||||
return a + b;
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
function f(a = 2, b = 3) {
|
||||
var a;
|
||||
var { a } = { a: 4 };
|
||||
return a + b;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
var _a = {
|
||||
a: 4
|
||||
},
|
||||
a = _a.a;
|
||||
return a + b;
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo({a, b}) {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
function foo(_ref) {
|
||||
var a = _ref.a,
|
||||
b = _ref.b;
|
||||
return function () {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
function foo([a, b]) {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
function foo(_ref) {
|
||||
var _ref2 = babelHelpers.slicedToArray(_ref, 2),
|
||||
a = _ref2[0],
|
||||
b = _ref2[1];
|
||||
|
||||
return function () {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
var x = 1
|
||||
function foo(x, y = function () { x = 2 }) {
|
||||
var x = 3
|
||||
y()
|
||||
expect(x).toBe(3);
|
||||
}
|
||||
foo()
|
||||
expect(x).toBe(1);
|
||||
@@ -0,0 +1,3 @@
|
||||
function foo(a = 2) {
|
||||
var a = 1;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
function foo() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
return function () {
|
||||
var a = 1;
|
||||
}();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
function f(a = 2, b = 3) {
|
||||
var { a } = { a: 4 };
|
||||
var a;
|
||||
var b;
|
||||
return a + b;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
var _a = {
|
||||
a: 4
|
||||
},
|
||||
a = _a.a;
|
||||
return a + b;
|
||||
}();
|
||||
}
|
||||
Reference in New Issue
Block a user