Skip to content

Commit 03eecc2

Browse files
committed
use instructiont::get_function_call() and get_assign()
This replaces direct access to instructiont::code to the provided API for the case of assignment and function call instructions.
1 parent e0a6f44 commit 03eecc2

20 files changed

+43
-47
lines changed

jbmc/src/java_bytecode/replace_java_nondet.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ static bool is_assignment_from(
146146
{
147147
return false;
148148
}
149-
const auto &rhs = to_code_assign(instr.code).rhs();
149+
const auto &rhs = instr.get_assign().rhs();
150150
return is_symbol_with_id(rhs, identifier) ||
151151
is_typecast_with_id(rhs, identifier);
152152
}
@@ -227,8 +227,7 @@ static goto_programt::targett check_and_replace_target(
227227
"either have a variable for the return value in its lhs() or the next "
228228
"instruction should be an assignment of the return value to a temporary "
229229
"variable");
230-
const exprt &return_value_assignment =
231-
to_code_assign(next_instr->code).lhs();
230+
const exprt &return_value_assignment = next_instr->get_assign().lhs();
232231

233232
// If the assignment is null, return.
234233
if(
@@ -290,7 +289,7 @@ static goto_programt::targett check_and_replace_target(
290289
else if(target_instruction->is_assign())
291290
{
292291
// Assume that the LHS of *this* assignment is the actual nondet variable
293-
const auto &nondet_var = to_code_assign(target_instruction->code).lhs();
292+
const auto &nondet_var = target_instruction->get_assign().lhs();
294293

295294
side_effect_expr_nondett inserted_expr(
296295
nondet_var.type(), target_instruction->source_location);

src/analyses/ai.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ bool ai_baset::visit_function_call(
398398
// it generates a synthetic goto_functions object for this
399399
if(!goto_functions.function_map.empty())
400400
{
401-
const code_function_callt &code = to_code_function_call(l_call->code);
401+
const code_function_callt &code = l_call->get_function_call();
402402
const exprt &callee_expression = code.function();
403403

404404
if(callee_expression.id() == ID_symbol)

src/analyses/call_graph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static void forall_callsites(
5656
{
5757
if(i_it->is_function_call())
5858
{
59-
const exprt &function_expr=to_code_function_call(i_it->code).function();
59+
const exprt &function_expr = i_it->get_function_call().function();
6060
if(function_expr.id()==ID_symbol)
6161
{
6262
const irep_idt &callee=to_symbol_expr(function_expr).get_identifier();

src/analyses/custom_bitvector_analysis.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ void custom_bitvector_domaint::transform(
287287
{
288288
case ASSIGN:
289289
{
290-
const code_assignt &code_assign=to_code_assign(instruction.code);
290+
const code_assignt &code_assign = instruction.get_assign();
291291
assign_struct_rec(from, code_assign.lhs(), code_assign.rhs(), cba, ns);
292292
}
293293
break;
@@ -313,8 +313,8 @@ void custom_bitvector_domaint::transform(
313313

314314
case FUNCTION_CALL:
315315
{
316-
const code_function_callt &code_function_call=
317-
to_code_function_call(instruction.code);
316+
const code_function_callt &code_function_call =
317+
instruction.get_function_call();
318318
const exprt &function=code_function_call.function();
319319

320320
if(function.id()==ID_symbol)

src/analyses/does_remove_const.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ std::pair<bool, source_locationt> does_remove_constt::operator()() const
4040
continue;
4141
}
4242

43-
const code_assignt &assign=to_code_assign(instruction.code);
43+
const code_assignt &assign = instruction.get_assign();
4444
const typet &rhs_type=assign.rhs().type();
4545
const typet &lhs_type=assign.lhs().type();
4646

src/analyses/escape_analysis.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ void escape_domaint::transform(
189189
{
190190
case ASSIGN:
191191
{
192-
const code_assignt &code_assign=to_code_assign(instruction.code);
192+
const code_assignt &code_assign = instruction.get_assign();
193193

194194
std::set<irep_idt> cleanup_functions;
195195
get_rhs_cleanup(code_assign.rhs(), cleanup_functions);
@@ -213,8 +213,8 @@ void escape_domaint::transform(
213213

214214
case FUNCTION_CALL:
215215
{
216-
const code_function_callt &code_function_call=
217-
to_code_function_call(instruction.code);
216+
const code_function_callt &code_function_call =
217+
instruction.get_function_call();
218218
const exprt &function=code_function_call.function();
219219

220220
if(function.id()==ID_symbol)
@@ -467,7 +467,7 @@ void escape_analysist::instrument(
467467

468468
if(instruction.type == ASSIGN)
469469
{
470-
const code_assignt &code_assign = to_code_assign(instruction.code);
470+
const code_assignt &code_assign = instruction.get_assign();
471471

472472
std::set<irep_idt> cleanup_functions;
473473
operator[](i_it).check_lhs(code_assign.lhs(), cleanup_functions);

src/analyses/flow_insensitive_analysis.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ exprt flow_insensitive_abstract_domain_baset::get_return_lhs(locationt to) const
3838
return static_cast<const exprt &>(get_nil_irep());
3939

4040
// must be the function call
41-
return to_code_function_call(to->code).lhs();
41+
return to->get_function_call().lhs();
4242
}
4343

4444
void flow_insensitive_analysis_baset::operator()(
@@ -153,7 +153,7 @@ bool flow_insensitive_analysis_baset::visit(
153153
if(l->is_function_call())
154154
{
155155
// this is a big special case
156-
const code_function_callt &code = to_code_function_call(l->code);
156+
const code_function_callt &code = l->get_function_call();
157157

158158
changed = do_function_call_rec(
159159
function_id,
@@ -202,7 +202,7 @@ bool flow_insensitive_analysis_baset::do_function_call(
202202

203203
if(!goto_function.body_available())
204204
{
205-
const code_function_callt &code = to_code_function_call(l_call->code);
205+
const code_function_callt &code = l_call->get_function_call();
206206

207207
goto_programt temp;
208208

src/analyses/global_may_alias.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ void global_may_alias_domaint::transform(
111111
{
112112
case ASSIGN:
113113
{
114-
const code_assignt &code_assign = to_code_assign(instruction.code);
114+
const code_assignt &code_assign = instruction.get_assign();
115115

116116
std::set<irep_idt> rhs_aliases;
117117
get_rhs_aliases(code_assign.rhs(), rhs_aliases);

src/analyses/goto_rw.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ void goto_rw(
802802
break;
803803

804804
case ASSIGN:
805-
goto_rw(function, target, to_code_assign(target->code), rw_set);
805+
goto_rw(function, target, target->get_assign(), rw_set);
806806
break;
807807

808808
case DEAD:
@@ -817,7 +817,7 @@ void goto_rw(
817817
break;
818818

819819
case FUNCTION_CALL:
820-
goto_rw(function, target, to_code_function_call(target->code), rw_set);
820+
goto_rw(function, target, target->get_function_call(), rw_set);
821821
break;
822822
}
823823
}

src/analyses/interval_domain.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ void interval_domaint::transform(
7979
break;
8080

8181
case ASSIGN:
82-
assign(to_code_assign(instruction.code));
82+
assign(instruction.get_assign());
8383
break;
8484

8585
case GOTO:
@@ -105,7 +105,7 @@ void interval_domaint::transform(
105105
case FUNCTION_CALL:
106106
{
107107
const code_function_callt &code_function_call =
108-
to_code_function_call(instruction.code);
108+
instruction.get_function_call();
109109
if(code_function_call.lhs().is_not_nil())
110110
havoc_rec(code_function_call.lhs());
111111
break;

0 commit comments

Comments
 (0)