@@ -87,11 +87,11 @@ class patternt
87
87
// / parameters, which are initially nameless as method conversion hasn't
88
88
// / happened. Also creates symbols in `symbol_table`.
89
89
static void assign_parameter_names (
90
- code_typet &ftype,
90
+ java_method_typet &ftype,
91
91
const irep_idt &name_prefix,
92
92
symbol_table_baset &symbol_table)
93
93
{
94
- code_typet ::parameterst ¶meters= ftype.parameters ();
94
+ java_method_typet ::parameterst ¶meters = ftype.parameters ();
95
95
96
96
// Mostly borrowed from java_bytecode_convert.cpp; maybe factor this out.
97
97
// assign names to parameters
@@ -255,7 +255,7 @@ const exprt java_bytecode_convert_methodt::variable(
255
255
// / message handler to collect warnings
256
256
// / \return
257
257
// / the constructed member type
258
- code_typet member_type_lazy (
258
+ java_method_typet member_type_lazy (
259
259
const std::string &descriptor,
260
260
const optionalt<std::string> &signature,
261
261
const std::string &class_name,
@@ -282,10 +282,11 @@ code_typet member_type_lazy(
282
282
signature.value (),
283
283
class_name);
284
284
INVARIANT (member_type_from_signature.id ()==ID_code, " Must be code type" );
285
- if (to_code_type (member_type_from_signature).parameters ().size ()==
286
- to_code_type (member_type_from_descriptor).parameters ().size ())
285
+ if (
286
+ to_java_method_type (member_type_from_signature).parameters ().size () ==
287
+ to_java_method_type (member_type_from_descriptor).parameters ().size ())
287
288
{
288
- return to_code_type (member_type_from_signature);
289
+ return to_java_method_type (member_type_from_signature);
289
290
}
290
291
else
291
292
{
@@ -306,7 +307,7 @@ code_typet member_type_lazy(
306
307
<< message.eom ;
307
308
}
308
309
}
309
- return to_code_type (member_type_from_descriptor);
310
+ return to_java_method_type (member_type_from_descriptor);
310
311
}
311
312
312
313
// / Retrieves the symbol of the lambda method associated with the given
@@ -345,7 +346,7 @@ void java_bytecode_convert_method_lazy(
345
346
{
346
347
symbolt method_symbol;
347
348
348
- code_typet member_type = member_type_lazy (
349
+ java_method_typet member_type = member_type_lazy (
349
350
m.descriptor ,
350
351
m.signature ,
351
352
id2string (class_symbol.name ),
@@ -378,8 +379,8 @@ void java_bytecode_convert_method_lazy(
378
379
// do we need to add 'this' as a parameter?
379
380
if (!m.is_static )
380
381
{
381
- code_typet ::parameterst ¶meters = member_type.parameters ();
382
- code_typet ::parametert this_p;
382
+ java_method_typet ::parameterst ¶meters = member_type.parameters ();
383
+ java_method_typet ::parametert this_p;
383
384
const reference_typet object_ref_type=
384
385
java_reference_type (symbol_typet (class_symbol.name ));
385
386
this_p.type ()=object_ref_type;
@@ -442,12 +443,12 @@ void java_bytecode_convert_methodt::convert(
442
443
443
444
symbolt &method_symbol=*symbol_table.get_writeable (method_identifier);
444
445
445
- // Obtain a std::vector of code_typet ::parametert objects from the
446
+ // Obtain a std::vector of java_method_typet ::parametert objects from the
446
447
// (function) type of the symbol
447
448
java_method_typet method_type = to_java_method_type (method_symbol.type );
448
449
method_type.set (ID_C_class, class_symbol.name );
449
450
method_return_type = method_type.return_type ();
450
- code_typet ::parameterst ¶meters = method_type.parameters ();
451
+ java_method_typet ::parameterst ¶meters = method_type.parameters ();
451
452
452
453
// Determine the number of local variable slots used by the JVM to maintain
453
454
// the formal parameters
@@ -1250,9 +1251,10 @@ codet java_bytecode_convert_methodt::convert_instructions(
1250
1251
id2string (arg0.get (ID_identifier))==
1251
1252
" java::org.cprover.CProver.assume:(Z)V" )
1252
1253
{
1253
- const code_typet &code_type=to_code_type (arg0.type ());
1254
- INVARIANT (code_type.parameters ().size ()==1 ,
1255
- " function expected to have exactly one parameter" );
1254
+ const java_method_typet &method_type = to_java_method_type (arg0.type ());
1255
+ INVARIANT (
1256
+ method_type.parameters ().size () == 1 ,
1257
+ " function expected to have exactly one parameter" );
1256
1258
c = replace_call_to_cprover_assume (i_it->source_location , c);
1257
1259
}
1258
1260
// replace calls to CProver.atomicBegin
@@ -1995,8 +1997,8 @@ codet java_bytecode_convert_methodt::convert_monitorenterexit(
1995
1997
return code_skipt ();
1996
1998
1997
1999
// becomes a function call
1998
- code_typet type (
1999
- {code_typet ::parametert (java_reference_type (void_typet ()))},
2000
+ java_method_typet type (
2001
+ {java_method_typet ::parametert (java_reference_type (void_typet ()))},
2000
2002
void_typet ());
2001
2003
code_function_callt call;
2002
2004
call.function () = symbol_exprt (descriptor, type);
@@ -2105,8 +2107,8 @@ void java_bytecode_convert_methodt::convert_invoke(
2105
2107
const bool is_virtual (
2106
2108
statement == " invokevirtual" || statement == " invokeinterface" );
2107
2109
2108
- code_typet &code_type = to_code_type (arg0.type ());
2109
- code_typet ::parameterst ¶meters (code_type .parameters ());
2110
+ java_method_typet &method_type = to_java_method_type (arg0.type ());
2111
+ java_method_typet ::parameterst ¶meters (method_type .parameters ());
2110
2112
2111
2113
if (use_this)
2112
2114
{
@@ -2122,13 +2124,13 @@ void java_bytecode_convert_methodt::convert_invoke(
2122
2124
{
2123
2125
if (needed_lazy_methods)
2124
2126
needed_lazy_methods->add_needed_class (classname);
2125
- code_type .set_is_constructor ();
2127
+ method_type .set_is_constructor ();
2126
2128
}
2127
2129
else
2128
- code_type .set (ID_java_super_method_call, true );
2130
+ method_type .set (ID_java_super_method_call, true );
2129
2131
}
2130
2132
reference_typet object_ref_type = java_reference_type (thistype);
2131
- code_typet ::parametert this_p (object_ref_type);
2133
+ java_method_typet ::parametert this_p (object_ref_type);
2132
2134
this_p.set_this ();
2133
2135
this_p.set_base_name (" this" );
2134
2136
parameters.insert (parameters.begin (), this_p);
@@ -2170,7 +2172,7 @@ void java_bytecode_convert_methodt::convert_invoke(
2170
2172
2171
2173
// do some type adjustment for return values
2172
2174
2173
- const typet &return_type = code_type .return_type ();
2175
+ const typet &return_type = method_type .return_type ();
2174
2176
2175
2177
if (return_type.id () != ID_empty)
2176
2178
{
@@ -2215,7 +2217,7 @@ void java_bytecode_convert_methodt::convert_invoke(
2215
2217
symbol.value .make_nil ();
2216
2218
symbol.mode = ID_java;
2217
2219
assign_parameter_names (
2218
- to_code_type (symbol.type ), symbol.name , symbol_table);
2220
+ to_java_method_type (symbol.type ), symbol.name , symbol_table);
2219
2221
2220
2222
debug () << " Generating codet: new opaque symbol: method '" << symbol.name
2221
2223
<< " '" << eom;
@@ -2945,11 +2947,11 @@ optionalt<exprt> java_bytecode_convert_methodt::convert_invoke_dynamic(
2945
2947
const source_locationt &location,
2946
2948
const exprt &arg0)
2947
2949
{
2948
- const code_typet &code_type = to_code_type (arg0.type ());
2950
+ const java_method_typet &method_type = to_java_method_type (arg0.type ());
2949
2951
2950
2952
const optionalt<symbolt> &lambda_method_symbol = get_lambda_method_symbol (
2951
2953
lambda_method_handles,
2952
- code_type .get_int (ID_java_lambda_method_handle_index));
2954
+ method_type .get_int (ID_java_lambda_method_handle_index));
2953
2955
if (lambda_method_symbol.has_value ())
2954
2956
debug () << " Converting invokedynamic for lambda: "
2955
2957
<< lambda_method_symbol.value ().name << eom;
@@ -2958,11 +2960,11 @@ optionalt<exprt> java_bytecode_convert_methodt::convert_invoke_dynamic(
2958
2960
" type"
2959
2961
<< eom;
2960
2962
2961
- const code_typet ::parameterst ¶meters (code_type .parameters ());
2963
+ const java_method_typet ::parameterst ¶meters (method_type .parameters ());
2962
2964
2963
2965
pop (parameters.size ());
2964
2966
2965
- const typet &return_type = code_type .return_type ();
2967
+ const typet &return_type = method_type .return_type ();
2966
2968
2967
2969
if (return_type.id () == ID_empty)
2968
2970
return {};
@@ -3019,13 +3021,13 @@ void java_bytecode_initialize_parameter_names(
3019
3021
&local_variable_table,
3020
3022
symbol_table_baset &symbol_table)
3021
3023
{
3022
- // Obtain a std::vector of code_typet ::parametert objects from the
3024
+ // Obtain a std::vector of java_method_typet ::parametert objects from the
3023
3025
// (function) type of the symbol
3024
- code_typet &code_type = to_code_type (method_symbol.type );
3025
- code_typet ::parameterst ¶meters = code_type .parameters ();
3026
+ java_method_typet &method_type = to_java_method_type (method_symbol.type );
3027
+ java_method_typet ::parameterst ¶meters = method_type .parameters ();
3026
3028
3027
3029
// Find number of parameters
3028
- unsigned slots_for_parameters = java_method_parameter_slots (code_type );
3030
+ unsigned slots_for_parameters = java_method_parameter_slots (method_type );
3029
3031
3030
3032
// Find parameter names in the local variable table:
3031
3033
typedef std::pair<irep_idt, irep_idt> base_name_and_identifiert;
0 commit comments