Skip to content

Commit

Permalink
fix(reactivity-transform): should not rewrite catch param (#5711)
Browse files Browse the repository at this point in the history
fix #5709
  • Loading branch information
edison1105 authored Apr 14, 2022
1 parent 86858a9 commit 1f14f19
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,11 @@ exports[`should not rewrite scope variable 1`] = `
console.log(d.value)
console.log(e)
}
let err = _ref(null)
try {
} catch (err) {
console.log(err)
}
"
`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,18 @@ test('should not rewrite scope variable', () => {
console.log(d)
console.log(e)
}
let err = $ref(null)
try {
} catch (err) {
console.log(err)
}
`)
expect(code).toMatch('console.log(a)')
expect(code).toMatch('console.log(b.value)')
expect(code).toMatch('console.log(c)')
expect(code).toMatch('console.log(d.value)')
expect(code).toMatch('console.log(e)')
expect(code).toMatch('console.log(err)')
assertCode(code)
})

Expand Down
10 changes: 10 additions & 0 deletions packages/reactivity-transform/src/reactivityTransform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,16 @@ export function transformAST(
return
}

// catch param
if (node.type === 'CatchClause') {
scopeStack.push((currentScope = {}))
if (node.param && node.param.type === 'Identifier') {
registerBinding(node.param)
}
walkScope(node.body)
return
}

// non-function block scopes
if (node.type === 'BlockStatement' && !isFunctionType(parent!)) {
scopeStack.push((currentScope = {}))
Expand Down

0 comments on commit 1f14f19

Please sign in to comment.