Skip to content

Commit c84cf21

Browse files
author
thk123
committed
Made member_type_lazy return type match what the method returns
Tidied up some accesses that were previously using direct irep access.
1 parent 6505e8c commit c84cf21

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

src/java_bytecode/java_bytecode_convert_method.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -256,11 +256,11 @@ const exprt java_bytecode_convert_methodt::variable(
256256
/// message handler to collect warnings
257257
/// \return
258258
/// the constructed member type
259-
typet member_type_lazy(const std::string &descriptor,
260-
const optionalt<std::string> &signature,
261-
const std::string &class_name,
262-
const std::string &method_name,
263-
message_handlert &message_handler)
259+
code_typet member_type_lazy(const std::string &descriptor,
260+
const optionalt<std::string> &signature,
261+
const std::string &class_name,
262+
const std::string &method_name,
263+
message_handlert &message_handler)
264264
{
265265
// In order to construct the method type, we can either use signature or
266266
// descriptor. Since only signature contains the generics info, we want to
@@ -285,7 +285,7 @@ typet member_type_lazy(const std::string &descriptor,
285285
if(to_code_type(member_type_from_signature).parameters().size()==
286286
to_code_type(member_type_from_descriptor).parameters().size())
287287
{
288-
return member_type_from_signature;
288+
return to_code_type(member_type_from_signature);
289289
}
290290
else
291291
{
@@ -303,7 +303,7 @@ typet member_type_lazy(const std::string &descriptor,
303303
<< descriptor << message.eom;
304304
}
305305
}
306-
return member_type_from_descriptor;
306+
return to_code_type(member_type_from_descriptor);
307307
}
308308

309309
/// This creates a method symbol in the symtab, but doesn't actually perform
@@ -324,7 +324,7 @@ void java_bytecode_convert_method_lazy(
324324
{
325325
symbolt method_symbol;
326326

327-
typet member_type=member_type_lazy(
327+
code_typet member_type=member_type_lazy(
328328
m.descriptor,
329329
m.signature,
330330
id2string(class_symbol.name),
@@ -337,13 +337,13 @@ void java_bytecode_convert_method_lazy(
337337
method_symbol.location=m.source_location;
338338
method_symbol.location.set_function(method_identifier);
339339
if(m.is_public)
340-
member_type.set(ID_access, ID_public);
340+
member_type.set_access(ID_public);
341341
else if(m.is_protected)
342-
member_type.set(ID_access, ID_protected);
342+
member_type.set_access(ID_protected);
343343
else if(m.is_private)
344-
member_type.set(ID_access, ID_private);
344+
member_type.set_access(ID_private);
345345
else
346-
member_type.set(ID_access, ID_default);
346+
member_type.set_access(ID_default);
347347

348348
if(method_symbol.base_name=="<init>")
349349
{
@@ -360,8 +360,7 @@ void java_bytecode_convert_method_lazy(
360360
// do we need to add 'this' as a parameter?
361361
if(!m.is_static)
362362
{
363-
code_typet &code_type=to_code_type(member_type);
364-
code_typet::parameterst &parameters=code_type.parameters();
363+
code_typet::parameterst &parameters=member_type.parameters();
365364
code_typet::parametert this_p;
366365
const reference_typet object_ref_type=
367366
java_reference_type(symbol_typet(class_symbol.name));

0 commit comments

Comments
 (0)