|
35 | 35 | #include <goto-analyzer/static_verifier.h> |
36 | 36 | #include <goto-analyzer/taint_analysis.h> |
37 | 37 | #include <goto-analyzer/unreachable_instructions.h> |
| 38 | +#include <java_bytecode/convert_java_nondet.h> |
38 | 39 | #include <java_bytecode/java_bytecode_language.h> |
| 40 | +#include <java_bytecode/java_object_factory_parameters.h> |
39 | 41 | #include <java_bytecode/lazy_goto_model.h> |
40 | 42 | #include <java_bytecode/remove_exceptions.h> |
41 | 43 | #include <java_bytecode/remove_instanceof.h> |
| 44 | +#include <java_bytecode/remove_java_new.h> |
42 | 45 | #include <langapi/language.h> |
43 | 46 | #include <langapi/mode.h> |
44 | 47 | #include <linking/static_lifetime_init.h> |
@@ -695,6 +698,19 @@ void janalyzer_parse_optionst::process_goto_function( |
695 | 698 |
|
696 | 699 | remove_returns(function, function_is_stub); |
697 | 700 |
|
| 701 | + // convert Java nondet expressions |
| 702 | + java_object_factory_parameterst object_factory_parameters; |
| 703 | + object_factory_parameters.set(options); |
| 704 | + convert_nondet( |
| 705 | + function, ui_message_handler, object_factory_parameters, ID_java); |
| 706 | + |
| 707 | + // remove Java new expressions (must be after convert_nondet) |
| 708 | + remove_java_new( |
| 709 | + function.get_function_id(), |
| 710 | + function.get_goto_function(), |
| 711 | + symbol_table, |
| 712 | + ui_message_handler); |
| 713 | + |
698 | 714 | transform_assertions_assumptions(options, function.get_goto_function().body); |
699 | 715 | } |
700 | 716 |
|
|
0 commit comments