24 std::string modified_pattern = pattern;
26 modified_pattern += R
"(:\(.*\).*)";
29 modified_pattern =
"java::" + modified_pattern;
31 return std::regex{modified_pattern};
41 const size_t descriptor_index = pattern.rfind(
':');
42 if(descriptor_index == std::string::npos)
45 const std::string java_prefix =
"java::";
46 return descriptor_index == java_prefix.length() - 1 &&
57 std::function<std::vector<irep_idt>(
const symbol_tablet &symbol_table)>
63 std::vector<irep_idt> matched_methods;
64 for(
const auto &symbol : symbol_table.symbols)
67 symbol.second.is_function() &&
68 std::regex_match(
id2string(symbol.first), regex))
70 matched_methods.push_back(symbol.first);
73 return matched_methods;