@@ -269,14 +269,11 @@ typet string_data_type(symbol_tablet symbol_table)
269
269
270
270
Function: java_string_library_preprocesst::string_length_type
271
271
272
- Inputs:
273
- symbol_table - a symbol_table containing an entry for java Strings
274
-
275
- Outputs: the type of length fields in java Strings.
272
+ Outputs: the type of the length field in java Strings.
276
273
277
274
\*******************************************************************/
278
275
279
- typet string_length_type (symbol_tablet symbol_table )
276
+ typet string_length_type ()
280
277
{
281
278
return java_int_type ();
282
279
}
@@ -305,14 +302,14 @@ void java_string_library_preprocesst::add_string_type(
305
302
string_type.components ()[0 ].type ()=symbol_typet (" java::java.lang.Object" );
306
303
string_type.components ()[1 ].set_name (" length" );
307
304
string_type.components ()[1 ].set_pretty_name (" length" );
308
- string_type.components ()[1 ].type ()=java_int_type ();
305
+ string_type.components ()[1 ].type ()=string_length_type ();
309
306
string_type.components ()[2 ].set_name (" data" );
310
307
string_type.components ()[2 ].set_pretty_name (" data" );
311
308
// Use a pointer-to-unbounded-array instead of a pointer-to-char.
312
309
// Saves some casting in the string refinement algorithm but may
313
310
// be unnecessary.
314
311
string_type.components ()[2 ].type ()=pointer_typet (
315
- array_typet (java_char_type (), infinity_exprt (java_int_type ())));
312
+ array_typet (java_char_type (), infinity_exprt (string_length_type ())));
316
313
string_type.add_base (symbol_typet (" java::java.lang.Object" ));
317
314
318
315
symbolt string_symbol;
@@ -441,7 +438,7 @@ void java_string_library_preprocesst::process_single_operand(
441
438
code_blockt &init_code)
442
439
{
443
440
member_exprt length (
444
- op_to_process, " length" , string_length_type (symbol_table ));
441
+ op_to_process, " length" , string_length_type ());
445
442
member_exprt data (op_to_process, " data" , string_data_type (symbol_table));
446
443
dereference_exprt deref_data (data, data.type ().subtype ());
447
444
string_exprt string_expr=fresh_string_expr (loc, symbol_table, init_code);
@@ -1303,7 +1300,7 @@ codet java_string_library_preprocesst::make_string_builder_append_float_code(
1303
1300
exprt this_obj=symbol_exprt (params[0 ].get_identifier (), params[0 ].type ());
1304
1301
1305
1302
// Getting types
1306
- typet length_type=string_length_type (symbol_table );
1303
+ typet length_type=string_length_type ();
1307
1304
1308
1305
// Code to be returned
1309
1306
code_blockt code;
@@ -1665,7 +1662,7 @@ codet java_string_library_preprocesst::make_string_to_char_array_code(
1665
1662
// first_element_address is `&((string_argument->data)[0])`
1666
1663
exprt data=get_data (deref, symbol_table);
1667
1664
dereference_exprt deref_data (data, data.type ().subtype ());
1668
- exprt first_index=from_integer (0 , java_int_type ());
1665
+ exprt first_index=from_integer (0 , string_length_type ());
1669
1666
index_exprt first_element (deref_data, first_index, java_char_type ());
1670
1667
address_of_exprt first_element_address (first_element);
1671
1668
0 commit comments