Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions crates/oxc_transformer/src/jsx/refresh.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use std::collections::hash_map::Entry;
use std::{collections::hash_map::Entry, mem};

use base64::{
encoded_len as base64_encoded_len,
Expand Down Expand Up @@ -139,8 +139,8 @@ impl<'a, 'ctx> ReactRefresh<'a, 'ctx> {

impl<'a> Traverse<'a> for ReactRefresh<'a, '_> {
fn enter_program(&mut self, program: &mut Program<'a>, ctx: &mut TraverseCtx<'a>) {
let mut new_statements = ctx.ast.vec_with_capacity(program.body.len());
for mut statement in program.body.drain(..) {
let mut new_statements = ctx.ast.vec_with_capacity(program.body.len() * 2);
for mut statement in program.body.take_in(ctx.ast.allocator) {
let next_statement = self.process_statement(&mut statement, ctx);
new_statements.push(statement);
if let Some(assignment_expression) = next_statement {
Expand All @@ -156,8 +156,8 @@ impl<'a> Traverse<'a> for ReactRefresh<'a, '_> {
}

let mut variable_declarator_items = ctx.ast.vec_with_capacity(self.registrations.len());
let mut new_statements = ctx.ast.vec_with_capacity(self.registrations.len() + 1);
for (binding, persistent_id) in self.registrations.drain(..) {
let mut new_statements = ctx.ast.vec_with_capacity(self.registrations.len());
for (binding, persistent_id) in mem::take(&mut self.registrations) {
variable_declarator_items.push(ctx.ast.variable_declarator(
SPAN,
VariableDeclarationKind::Var,
Expand Down
Loading