forked from diffblue/cbmc
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add force loading parameter
--java-load-class
This parameter force loads the specified classes and prevents their methods from being removed by lazy-methods. This allows to add classes that provide an implementations for interfaces, where the classes themselves are not referenced.
- Loading branch information
Matthias Güdemann
authored and
thk123
committed
Nov 30, 2017
1 parent
cd86eb8
commit 92bec6c
Showing
6 changed files
with
58 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,15 +21,16 @@ Author: Daniel Kroening, [email protected] | |
|
||
#include <java_bytecode/select_pointer_type.h> | ||
|
||
#define JAVA_BYTECODE_LANGUAGE_OPTIONS /*NOLINT*/ \ | ||
"(java-assume-inputs-non-null)" \ | ||
"(java-throw-runtime-exceptions)" \ | ||
"(java-max-input-array-length):" \ | ||
"(java-max-input-tree-depth):" \ | ||
"(java-max-vla-length):" \ | ||
"(java-cp-include-files):" \ | ||
"(lazy-methods)" \ | ||
"(lazy-methods-extra-entry-point):" | ||
#define JAVA_BYTECODE_LANGUAGE_OPTIONS /*NOLINT*/ \ | ||
"(java-assume-inputs-non-null)" \ | ||
"(java-throw-runtime-exceptions)" \ | ||
"(java-max-input-array-length):" \ | ||
"(java-max-input-tree-depth):" \ | ||
"(java-max-vla-length):" \ | ||
"(java-cp-include-files):" \ | ||
"(lazy-methods)" \ | ||
"(lazy-methods-extra-entry-point):" \ | ||
"(java-load-class):" | ||
|
||
#define JAVA_BYTECODE_LANGUAGE_OPTIONS_HELP /*NOLINT*/ \ | ||
" --java-assume-inputs-non-null never initialize reference-typed parameter to the\n" \ | ||
|
@@ -177,6 +178,9 @@ class java_bytecode_languaget:public languaget | |
java_string_library_preprocesst string_preprocess; | ||
std::string java_cp_include_files; | ||
|
||
// list of classes to force load even without reference from the entry point | ||
std::vector<irep_idt> java_load_classes; | ||
|
||
private: | ||
const std::unique_ptr<const select_pointer_typet> pointer_type_selector; | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters