@@ -897,25 +897,21 @@ void java_bytecode_convert_classt::add_array_types(symbol_tablet &symbol_table)
897897
898898 code_declt declare_index (index_symexpr);
899899
900- code_fort copy_loop;
901-
902- copy_loop.init ()=
903- code_assignt (index_symexpr, from_integer (0 , index_symexpr.type ()));
904- copy_loop.cond ()=
905- binary_relation_exprt (index_symexpr, ID_lt, old_length);
906-
907900 side_effect_exprt inc (ID_assign, typet (), location);
908901 inc.operands ().resize (2 );
909902 inc.op0 ()=index_symexpr;
910903 inc.op1 ()=plus_exprt (index_symexpr, from_integer (1 , index_symexpr.type ()));
911- copy_loop.iter ()=inc;
912904
913905 dereference_exprt old_cell (
914906 plus_exprt (old_data, index_symexpr), old_data.type ().subtype ());
915907 dereference_exprt new_cell (
916908 plus_exprt (new_data, index_symexpr), new_data.type ().subtype ());
917- code_assignt copy_cell (new_cell, old_cell);
918- copy_loop.body ()=copy_cell;
909+
910+ const code_fort copy_loop (
911+ code_assignt (index_symexpr, from_integer (0 , index_symexpr.type ())),
912+ binary_relation_exprt (index_symexpr, ID_lt, old_length),
913+ std::move (inc),
914+ code_assignt (std::move (new_cell), std::move (old_cell)));
919915
920916 member_exprt new_base_class (
921917 new_array, base_class_component.get_name (), base_class_component.type ());
0 commit comments