@@ -265,13 +265,15 @@ symbol_exprt java_string_library_preprocesst::fresh_array(
265
265
// / calls string_refine_preprocesst::process_operands with a list of parameters.
266
266
// / \param params: a list of function parameters
267
267
// / \param loc: location in the source
268
+ // / \param function_name: name of the function in which the code will be added
268
269
// / \param symbol_table: symbol table
269
270
// / \param init_code: code block, in which declaration of some arguments may be
270
271
// / added
271
272
// / \return a list of expressions
272
273
exprt::operandst java_string_library_preprocesst::process_parameters (
273
274
const java_method_typet::parameterst ¶ms,
274
275
const source_locationt &loc,
276
+ const irep_idt &function_name,
275
277
symbol_table_baset &symbol_table,
276
278
code_blockt &init_code)
277
279
{
@@ -281,7 +283,7 @@ exprt::operandst java_string_library_preprocesst::process_parameters(
281
283
const symbol_exprt sym (p.get_identifier (), p.type ());
282
284
ops.push_back (sym);
283
285
}
284
- return process_operands (ops, loc, symbol_table, init_code);
286
+ return process_operands (ops, loc, function_name, symbol_table, init_code);
285
287
}
286
288
287
289
// / Creates a string_exprt from the input exprt representing a char sequence
@@ -322,13 +324,15 @@ java_string_library_preprocesst::convert_exprt_to_string_exprt(
322
324
// / for char array references.
323
325
// / \param operands: a list of expressions
324
326
// / \param loc: location in the source
327
+ // / \param function_name: name of the function in which the code will be added
325
328
// / \param symbol_table: symbol table
326
329
// / \param init_code: code block, in which declaration of some arguments may be
327
330
// / added
328
331
// / \return a list of expressions
329
332
exprt::operandst java_string_library_preprocesst::process_operands (
330
333
const exprt::operandst &operands,
331
334
const source_locationt &loc,
335
+ const irep_idt &function_name,
332
336
symbol_table_baset &symbol_table,
333
337
code_blockt &init_code)
334
338
{
@@ -338,7 +342,7 @@ exprt::operandst java_string_library_preprocesst::process_operands(
338
342
if (implements_java_char_sequence_pointer (p.type ()))
339
343
ops.push_back (
340
344
convert_exprt_to_string_exprt (
341
- p, loc, symbol_table, loc. get_function () , init_code));
345
+ p, loc, symbol_table, function_name , init_code));
342
346
else if (is_java_char_array_pointer_type (p.type ()))
343
347
ops.push_back (replace_char_array (p, loc, symbol_table, init_code));
344
348
else
@@ -1128,7 +1132,7 @@ code_blockt java_string_library_preprocesst::make_init_function_from_call(
1128
1132
1129
1133
// Processing parameters
1130
1134
const exprt::operandst args =
1131
- process_parameters (params, loc, symbol_table, code);
1135
+ process_parameters (params, loc, function_name, symbol_table, code);
1132
1136
1133
1137
// string_expr <- function(arg1)
1134
1138
const refined_string_exprt string_expr =
@@ -1472,8 +1476,8 @@ code_blockt java_string_library_preprocesst::make_string_format_code(
1472
1476
{
1473
1477
PRECONDITION (type.parameters ().size ()==2 );
1474
1478
code_blockt code;
1475
- exprt::operandst args= process_parameters (
1476
- type.parameters (), loc, symbol_table, code);
1479
+ exprt::operandst args =
1480
+ process_parameters ( type.parameters (), loc, function_id , symbol_table, code);
1477
1481
INVARIANT (args.size ()==2 , " String.format should have two arguments" );
1478
1482
1479
1483
// The argument can be:
@@ -1612,8 +1616,8 @@ code_blockt java_string_library_preprocesst::make_function_from_call(
1612
1616
symbol_table_baset &symbol_table)
1613
1617
{
1614
1618
code_blockt code;
1615
- const exprt::operandst args =
1616
- process_parameters ( type.parameters (), loc, symbol_table, code);
1619
+ const exprt::operandst args = process_parameters (
1620
+ type.parameters (), loc, function_name , symbol_table, code);
1617
1621
code.add (
1618
1622
code_return_function_application (
1619
1623
function_name, args, type.return_type (), symbol_table),
@@ -1645,8 +1649,8 @@ java_string_library_preprocesst::make_string_returning_function_from_call(
1645
1649
code_blockt code;
1646
1650
1647
1651
// Calling the function
1648
- const exprt::operandst arguments =
1649
- process_parameters ( type.parameters (), loc, symbol_table, code);
1652
+ const exprt::operandst arguments = process_parameters (
1653
+ type.parameters (), loc, function_name , symbol_table, code);
1650
1654
1651
1655
// String expression that will hold the result
1652
1656
const refined_string_exprt string_expr =
0 commit comments