Skip to content

Commit 861d87c

Browse files
authored
fix(es/resolver): Resolve parameters correctly (#6890)
**Related issue:** - Closes #5622.
1 parent ab02c0a commit 861d87c

10 files changed

+295
-156
lines changed

crates/swc/tests/tsc-references/destructuringArrayBindingPatternAndAssignment3.1.normal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ var _ref2 = [
2020
1
2121
]);
2222
(function(param) {
23-
var _param = _sliced_to_array(param, 4), f = _param[0], tmp = _param[1], g = tmp === void 0 ? f : tmp, tmp1 = _param[2], h = tmp1 === void 0 ? i : tmp1, tmp2 = _param[3], i1 = tmp2 === void 0 ? f : tmp2;
23+
var _param = _sliced_to_array(param, 4), f = _param[0], tmp = _param[1], g = tmp === void 0 ? f : tmp, tmp1 = _param[2], h = tmp1 === void 0 ? i : tmp1, tmp2 = _param[3], i = tmp2 === void 0 ? f : tmp2;
2424
})([
2525
1
2626
]);

crates/swc/tests/tsc-references/functionImplementationErrors.1.normal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function f6() {
3737
}
3838
// Function signature with initializer referencing other parameter to the right
3939
function f7() {
40-
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : m, m1 = arguments.length > 1 ? arguments[1] : void 0;
40+
var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : m, m = arguments.length > 1 ? arguments[1] : void 0;
4141
}
4242
// FunctionExpression with non -void return type annotation with a throw, no return, and other code
4343
// Should be error but isn't

crates/swc/tests/tsc-references/parameterInitializersForwardReferencing.1.normal.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ function left(a) {
66
b1;
77
}
88
function right() {
9-
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b, _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : a;
9+
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b1, b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : a;
1010
a;
11-
_$b;
11+
b1;
1212
}
1313
function right2() {
14-
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b, _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : c, _$c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : a;
14+
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b1, b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : c1, c1 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : a;
1515
a;
16-
_$b;
17-
_$c;
16+
b1;
17+
c1;
1818
}
1919
function inside() {
2020
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b;
@@ -29,13 +29,13 @@ function outside() {
2929
}
3030
function defaultArgFunction() {
3131
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
32-
return b;
32+
return b1;
3333
}, b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
3434
}
3535
function defaultArgArrow() {
3636
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function() {
3737
return function() {
38-
return b;
38+
return b1;
3939
};
4040
}, b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 3;
4141
}
@@ -47,7 +47,7 @@ var C = /*#__PURE__*/ function() {
4747
}
4848
var _proto = C.prototype;
4949
_proto.method = function method() {
50-
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b, _$b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
50+
var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b1, b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
5151
};
5252
return C;
5353
}();
@@ -59,6 +59,6 @@ var x = function() {
5959
// Should not produce errors - can reference later parameters if they occur within a function expression initializer.
6060
function f(a) {
6161
var b1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {
62-
return c;
62+
return c1;
6363
}, c1 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : b1();
6464
}

crates/swc/tests/tsc-references/parameterInitializersForwardReferencing1.1.normal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function f2() {
1515
return bar(); // returns 1
1616
}
1717
function f3() {
18-
var bar = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : foo, foo1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2;
18+
var bar = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : foo, foo = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2;
1919
return bar;
2020
}
2121
function f4(foo) {

crates/swc/tests/tsc-references/parameterInitializersForwardReferencing1_es6.1.normal.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function f2(bar = (baz = foo)=>baz) {
88
var foo1 = 2;
99
return bar(); // returns 1
1010
}
11-
function f3(bar = foo, foo1 = 2) {
11+
function f3(bar = foo, foo = 2) {
1212
return bar;
1313
}
1414
function f4(foo, bar = foo) {

0 commit comments

Comments
 (0)