@@ -36,14 +36,16 @@ ci_lazy_methodst::ci_lazy_methodst(
36
36
java_class_loadert &java_class_loader,
37
37
const std::vector<irep_idt> &extra_needed_classes,
38
38
const select_pointer_typet &pointer_type_selector,
39
- message_handlert &message_handler)
39
+ message_handlert &message_handler,
40
+ const synthetic_methods_mapt &synthetic_methods)
40
41
: messaget(message_handler),
41
42
main_class(main_class),
42
43
main_jar_classes(main_jar_classes),
43
44
lazy_methods_extra_entry_points(lazy_methods_extra_entry_points),
44
45
java_class_loader(java_class_loader),
45
46
extra_needed_classes(extra_needed_classes),
46
- pointer_type_selector(pointer_type_selector)
47
+ pointer_type_selector(pointer_type_selector),
48
+ synthetic_methods(synthetic_methods)
47
49
{
48
50
// build the class hierarchy
49
51
class_hierarchy (symbol_table);
@@ -196,7 +198,8 @@ bool ci_lazy_methodst::operator()(
196
198
// Don't keep functions that belong to this language that we haven't
197
199
// converted above
198
200
if (
199
- method_bytecode.contains_method (sym.first ) &&
201
+ (method_bytecode.contains_method (sym.first ) ||
202
+ synthetic_methods.count (sym.first )) &&
200
203
!methods_already_populated.count (sym.first ))
201
204
{
202
205
continue ;
0 commit comments