File tree Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Expand file tree Collapse file tree 3 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -233,9 +233,9 @@ bool java_bytecode_languaget::parse(
233233 if (main_class.empty ())
234234 {
235235 status () << " JAR file without entry point: loading class files" << eom;
236- java_class_loader.load_entire_jar (path);
237- for (const auto &kv : java_class_loader. get_jar_index (path) )
238- main_jar_classes.push_back (kv. first );
236+ const auto classes = java_class_loader.load_entire_jar (path);
237+ for (const auto &c : classes )
238+ main_jar_classes.push_back (c );
239239 }
240240 else
241241 java_class_loader.add_classpath_entry (path);
Original file line number Diff line number Diff line change @@ -238,23 +238,29 @@ java_class_loadert::get_parse_tree(
238238 return parse_trees;
239239}
240240
241- // / Load all class files from a .jar file, and store name of .jar in
242- // / `classpath_entreies`.
241+ // / Load all class files from a .jar file
243242// / \param jar_path: the path for the .jar to load
244- void java_class_loadert::load_entire_jar (
243+ std::vector<irep_idt> java_class_loadert::load_entire_jar (
245244 const std::string &jar_path)
246245{
247246 jar_index_optcreft jar_index = read_jar_file (jar_path);
248247 if (!jar_index)
249- return ;
248+ return {} ;
250249
251250 classpath_entries.push_front (
252251 classpath_entryt (classpath_entryt::JAR, jar_path));
253252
253+ std::vector<irep_idt> classes;
254+
254255 for (const auto &e : jar_index->get ())
256+ {
255257 operator ()(e.first );
258+ classes.push_back (e.first );
259+ }
256260
257261 classpath_entries.pop_front ();
262+
263+ return classes;
258264}
259265
260266java_class_loadert::jar_index_optcreft java_class_loadert::read_jar_file (
Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ class java_class_loadert:public messaget
9797 static std::string file_to_class_name (const std::string &);
9898 static std::string class_name_to_file (const irep_idt &);
9999
100- void load_entire_jar (const std::string &jar_path);
100+ std::vector<irep_idt> load_entire_jar (const std::string &jar_path);
101101
102102 const jar_indext &get_jar_index (const std::string &jar_path)
103103 {
You can’t perform that action at this time.
0 commit comments