@@ -202,10 +202,12 @@ void java_bytecode_convert_classt::convert(const classt &c)
202
202
}
203
203
class_type=generic_class_type;
204
204
}
205
- catch (unsupported_java_class_signature_exceptiont)
205
+ catch (unsupported_java_class_signature_exceptiont &e )
206
206
{
207
- warning () << " we currently don't support parsing for example double "
208
- " bounded, recursive and wild card generics" << eom;
207
+ warning () << " Class: " << c.name
208
+ << " \n could not parse signature: " << c.signature .value ()
209
+ << " \n " << e.what () << " \n ignoring that the class is generic"
210
+ << eom;
209
211
}
210
212
}
211
213
@@ -253,11 +255,12 @@ void java_bytecode_convert_classt::convert(const classt &c)
253
255
base, superclass_ref.value (), qualified_classname);
254
256
class_type.add_base (generic_base);
255
257
}
256
- catch (unsupported_java_class_signature_exceptiont)
258
+ catch (unsupported_java_class_signature_exceptiont &e )
257
259
{
258
- debug () << " unsupported generic superclass signature "
259
- << id2string (*superclass_ref)
260
- << " falling back on using the descriptor" << eom;
260
+ warning () << " Superclass: " << c.extends << " of class: " << c.name
261
+ << " \n could not parse signature: " << superclass_ref.value ()
262
+ << " \n " << e.what ()
263
+ << " \n ignoring that the superclass is generic" << eom;
261
264
class_type.add_base (base);
262
265
}
263
266
}
@@ -292,11 +295,12 @@ void java_bytecode_convert_classt::convert(const classt &c)
292
295
base, interface_ref.value (), qualified_classname);
293
296
class_type.add_base (generic_base);
294
297
}
295
- catch (unsupported_java_class_signature_exceptiont)
298
+ catch (unsupported_java_class_signature_exceptiont &e )
296
299
{
297
- debug () << " unsupported generic interface signature "
298
- << id2string (*interface_ref)
299
- << " falling back on using the descriptor" << eom;
300
+ warning () << " Interface: " << interface << " of class: " << c.name
301
+ << " \n could not parse signature: " << interface_ref.value ()
302
+ << " \n " << e.what ()
303
+ << " \n ignoring that the interface is generic" << eom;
300
304
class_type.add_base (base);
301
305
}
302
306
}
0 commit comments