Skip to content

Commit e16286a

Browse files
[DO NOT MERGE] Revert "Reverting method descriptor loading"
This reverts commit be94ecdd2caf2bf5193c2cd2ced1b1ae19ce22d9.
1 parent 008563b commit e16286a

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/java_bytecode/java_bytecode_convert_method.cpp

+14-1
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,20 @@ void java_bytecode_convert_method_lazy(
263263
symbol_tablet &symbol_table)
264264
{
265265
symbolt method_symbol;
266-
typet member_type=java_type_from_string(m.descriptor);
266+
typet member_type;
267+
if(m.signature.has_value())
268+
{
269+
#ifdef DEBUG
270+
std::cout << "method " << m.name
271+
<< " has signature " << m.signature.value() << "\n";
272+
#endif
273+
member_type=java_type_from_string(
274+
m.signature.value(),
275+
id2string(class_symbol.name));
276+
INVARIANT(member_type.id()==ID_code, "Must be code type");
277+
}
278+
else
279+
member_type=java_type_from_string(m.descriptor);
267280

268281
method_symbol.name=method_identifier;
269282
method_symbol.base_name=m.base_name;

0 commit comments

Comments
 (0)