Skip to content

Commit 1f14f19

Browse files
authored
fix(reactivity-transform): should not rewrite catch param (#5711)
fix #5709
1 parent 86858a9 commit 1f14f19

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

Diff for: packages/reactivity-transform/__tests__/__snapshots__/reactivityTransform.spec.ts.snap

+5
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,11 @@ exports[`should not rewrite scope variable 1`] = `
216216
console.log(d.value)
217217
console.log(e)
218218
}
219+
let err = _ref(null)
220+
try {
221+
} catch (err) {
222+
console.log(err)
223+
}
219224
"
220225
`;
221226

Diff for: packages/reactivity-transform/__tests__/reactivityTransform.spec.ts

+6
Original file line numberDiff line numberDiff line change
@@ -222,12 +222,18 @@ test('should not rewrite scope variable', () => {
222222
console.log(d)
223223
console.log(e)
224224
}
225+
let err = $ref(null)
226+
try {
227+
} catch (err) {
228+
console.log(err)
229+
}
225230
`)
226231
expect(code).toMatch('console.log(a)')
227232
expect(code).toMatch('console.log(b.value)')
228233
expect(code).toMatch('console.log(c)')
229234
expect(code).toMatch('console.log(d.value)')
230235
expect(code).toMatch('console.log(e)')
236+
expect(code).toMatch('console.log(err)')
231237
assertCode(code)
232238
})
233239

Diff for: packages/reactivity-transform/src/reactivityTransform.ts

+10
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,16 @@ export function transformAST(
566566
return
567567
}
568568

569+
// catch param
570+
if (node.type === 'CatchClause') {
571+
scopeStack.push((currentScope = {}))
572+
if (node.param && node.param.type === 'Identifier') {
573+
registerBinding(node.param)
574+
}
575+
walkScope(node.body)
576+
return
577+
}
578+
569579
// non-function block scopes
570580
if (node.type === 'BlockStatement' && !isFunctionType(parent!)) {
571581
scopeStack.push((currentScope = {}))

0 commit comments

Comments
 (0)