Skip to content

Commit 7300776

Browse files
committed
Use the code_fort constructor
1 parent ad092e2 commit 7300776

File tree

3 files changed

+12
-22
lines changed

3 files changed

+12
-22
lines changed

jbmc/src/java_bytecode/java_bytecode_convert_class.cpp

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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());

jbmc/src/java_bytecode/remove_java_new.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -266,8 +266,6 @@ goto_programt::targett remove_java_newt::lower_java_new_array(
266266
t_decl->make_decl(decl);
267267
t_decl->source_location = location;
268268

269-
code_fort for_loop;
270-
271269
side_effect_exprt sub_java_new = rhs;
272270
sub_java_new.operands().erase(sub_java_new.operands().begin());
273271

@@ -304,10 +302,11 @@ goto_programt::targett remove_java_newt::lower_java_new_array(
304302
deref_expr, typecast_exprt(init_sym, deref_expr.type()));
305303
for_body.add(std::move(assign_subarray));
306304

307-
for_loop.init() = code_assignt(tmp_i, from_integer(0, tmp_i.type()));
308-
for_loop.cond() = binary_relation_exprt(tmp_i, ID_lt, rhs.op0());
309-
for_loop.iter() = inc;
310-
for_loop.body() = for_body;
305+
const code_fort for_loop(
306+
code_assignt(tmp_i, from_integer(0, tmp_i.type())),
307+
binary_relation_exprt(tmp_i, ID_lt, rhs.op0()),
308+
std::move(inc),
309+
std::move(for_body));
311310

312311
goto_convert(for_loop, symbol_table, tmp, get_message_handler(), ID_java);
313312

src/goto-instrument/goto_program2code.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -628,13 +628,8 @@ goto_programt::const_targett goto_program2codet::convert_goto_while(
628628
if(w.body().has_operands() &&
629629
to_code(w.body().operands().back()).get_statement()==ID_assign)
630630
{
631-
code_fort f;
631+
code_fort f(nil_exprt(), w.cond(), w.body().operands().back(), codet());
632632

633-
f.init().make_nil();
634-
635-
f.cond()=w.cond();
636-
637-
f.iter()=w.body().operands().back();
638633
w.body().operands().pop_back();
639634
f.iter().id(ID_side_effect);
640635

0 commit comments

Comments
 (0)