refactor(transformer): RegExp transform unbox early (#5504)

Unbox the `RegExpLiteral` early to avoid all lookups thereafter going through the indirection of a `Box`.
This commit is contained in:
overlookmotel 2024-09-06 11:51:37 +00:00
parent d1ece197c4
commit fad0a0548b

View file

@ -113,9 +113,10 @@ impl<'a> Traverse<'a> for RegExp<'a> {
expr: &mut Expression<'a>,
ctx: &mut oxc_traverse::TraverseCtx<'a>,
) {
let Expression::RegExpLiteral(ref mut regexp) = expr else {
let Expression::RegExpLiteral(regexp) = expr else {
return;
};
let regexp = regexp.as_mut();
let flags = regexp.regex.flags;
let has_unsupported_flags = flags.intersects(self.unsupported_flags);