19 const std::string &java_cp_include_files)
21 if(java_cp_include_files.empty())
22 throw "class regexp cannot be empty, `get_language_options` not called?";
29 debug() <<
"Limit loading to classes matching '" << java_cp_include_files
34 assert(java_cp_include_files.length()>1);
37 java_cp_include_files.substr(1),
40 throw "cannot read JSON input configuration for JAR loading";
41 if(!json_cp_config.is_object())
42 throw "the JSON file has a wrong format";
43 jsont include_files=json_cp_config[
"classFiles"];
45 throw "the JSON file has a wrong format";
46 for(
const jsont &file_entry : include_files.
array)
60 std::smatch string_matches;
61 if(std::regex_match(file_name, string_matches,
regex_matcher))
63 debug() << file_name +
" discarded since not matching loader regexp" <<
eom;
static mstreamt & eom(mstreamt &m)
bool parse_json(std::istream &in, const std::string &filename, message_handlert &message_handler, jsont &dest)
std::set< std::string > set_matcher
message_handlert & get_message_handler()
bool load_class_file(const std::string &class_file_name)
bool use_regex_match
Whether to use regex_matcher instead of set_matcher.
void setup_class_load_limit(const std::string &)
initializes class with either regex matcher or match set