Skip to content

Commit 7e78e39

Browse files
committed
fix(linter): don't panic when parsing regex with multiple parentheses (#13524)
`to_expression` does some `unwrap` which will panic when multiple parentheses are present. Use `as_expression` to get an `Option<Expression>` instead.
1 parent 3ead0dd commit 7e78e39

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

crates/oxc_linter/src/utils/regex.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ fn run_on_arguments<M>(arg1: Option<&Argument>, arg2: Option<&Argument>, ctx: &L
3535
where
3636
M: FnOnce(&Pattern<'_>, Span),
3737
{
38-
let arg1 = arg1.map(|arg| arg.to_expression().get_inner_expression());
39-
let arg2 = arg2.map(|arg| arg.to_expression().get_inner_expression());
38+
let arg1 = arg1.and_then(Argument::as_expression).map(Expression::get_inner_expression);
39+
let arg2 = arg2.and_then(Argument::as_expression).map(Expression::get_inner_expression);
4040
// note: improvements required for strings used via identifier references
4141
// Missing or non-string arguments will be runtime errors, but are not covered by this rule.
4242
match (&arg1, &arg2) {

0 commit comments

Comments
 (0)