File tree 2 files changed +31
-0
lines changed
2 files changed +31
-0
lines changed Original file line number Diff line number Diff line change 18
18
19
19
#include < java_bytecode/java_bytecode_language.h>
20
20
21
+ // / Go through the process of loading, type-checking and finalising loading a
22
+ // / specific class file to build the symbol table. The functions are converted
23
+ // / using ci_lazy_methods (equivalent to passing --lazy-methods to JBMC)
24
+ // / \param java_class_name: The name of the class file to load. It should not
25
+ // / include the .class extension.
26
+ // / \param class_path: The path to load the class from. Should be relative to
27
+ // / the unit directory.
28
+ // / \param main: The name of the main function or "" to use the default
29
+ // / behaviour to find a main function.
30
+ // / \return The symbol table that is generated by parsing this file.
31
+ symbol_tablet load_java_class_lazy (
32
+ const std::string &java_class_name,
33
+ const std::string &class_path,
34
+ const std::string &main)
35
+ {
36
+ free_form_cmdlinet lazy_command_line;
37
+ lazy_command_line.add_flag (" lazy-methods" );
38
+
39
+ return load_java_class (
40
+ java_class_name,
41
+ class_path,
42
+ main,
43
+ new_java_bytecode_language (),
44
+ lazy_command_line);
45
+ }
46
+
21
47
// / Go through the process of loading, type-checking and finalising loading a
22
48
// / specific class file to build the symbol table.
23
49
// / \param java_class_name: The name of the class file to load. It should not
Original file line number Diff line number Diff line change @@ -38,4 +38,9 @@ symbol_tablet load_java_class(
38
38
std::unique_ptr<languaget> &&java_lang,
39
39
const cmdlinet &command_line);
40
40
41
+ symbol_tablet load_java_class_lazy (
42
+ const std::string &java_class_name,
43
+ const std::string &class_path,
44
+ const std::string &main);
45
+
41
46
#endif // CPROVER_TESTING_UTILS_LOAD_JAVA_CLASS_H
You can’t perform that action at this time.
0 commit comments