From dc8075302d49d4f64b22afab94c8e4d813a44622 Mon Sep 17 00:00:00 2001 From: reuk Date: Wed, 30 Aug 2017 15:41:45 +0100 Subject: [PATCH] Lazy-load static symbols which are accessed through pointers --- src/java_bytecode/java_bytecode_convert_method.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/java_bytecode/java_bytecode_convert_method.cpp b/src/java_bytecode/java_bytecode_convert_method.cpp index 7025bca1f57..89c5afc82ac 100644 --- a/src/java_bytecode/java_bytecode_convert_method.cpp +++ b/src/java_bytecode/java_bytecode_convert_method.cpp @@ -2110,6 +2110,15 @@ codet java_bytecode_convert_methodt::convert_instructions( lazy_methods->add_needed_class( to_symbol_type(arg0.type()).get_identifier()); } + else if(arg0.type().id()==ID_pointer) + { + const auto &pointer_type=to_pointer_type(arg0.type()); + if(pointer_type.subtype().id()==ID_symbol) + { + lazy_methods->add_needed_class( + to_symbol_type(pointer_type.subtype()).get_identifier()); + } + } else if(is_assertions_disabled_field) { lazy_methods->add_needed_class(arg0.get_string(ID_class));