Skip to content

Commit dad51f8

Browse files
committed
WIP: message_handlert
1 parent bf53a9c commit dad51f8

File tree

150 files changed

+1026
-790
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+1026
-790
lines changed

jbmc/src/janalyzer/janalyzer_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ janalyzer_parse_optionst::janalyzer_parse_optionst(int argc, const char **argv)
6767
void janalyzer_parse_optionst::register_languages()
6868
{
6969
// Need ansi C language for __CPROVER_rounding_mode
70-
register_language(new_ansi_c_language);
71-
register_language(new_java_bytecode_language);
70+
register_language(new_ansi_c_language, get_message_handler());
71+
register_language(new_java_bytecode_language, get_message_handler());
7272
}
7373

7474
void janalyzer_parse_optionst::get_command_line_options(optionst &options)

jbmc/src/java_bytecode/character_refine_preprocess.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ Date: March 2017
2929
class character_refine_preprocesst:public messaget
3030
{
3131
public:
32+
explicit character_refine_preprocesst(message_handlert &message_handler)
33+
: messaget(message_handler)
34+
{
35+
}
36+
3237
void initialize_conversion_table();
3338
codet replace_character_call(const code_function_callt &call) const;
3439

jbmc/src/java_bytecode/java_bytecode_language.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,9 +1173,9 @@ void java_bytecode_languaget::show_parse(std::ostream &out)
11731173
}
11741174
}
11751175

1176-
std::unique_ptr<languaget> new_java_bytecode_language()
1176+
std::unique_ptr<languaget> new_java_bytecode_language(message_handlert &message_handler)
11771177
{
1178-
return util_make_unique<java_bytecode_languaget>();
1178+
return util_make_unique<java_bytecode_languaget>(message_handler);
11791179
}
11801180

11811181
bool java_bytecode_languaget::from_expr(

jbmc/src/java_bytecode/java_bytecode_language.h

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,29 @@ class java_bytecode_languaget:public languaget
112112

113113
virtual ~java_bytecode_languaget();
114114
java_bytecode_languaget(
115-
std::unique_ptr<select_pointer_typet> pointer_type_selector):
115+
std::unique_ptr<select_pointer_typet> pointer_type_selector,
116+
message_handlert &message_handler):
117+
languaget(message_handler),
118+
java_class_loader(message_handler),
119+
threading_support(false),
116120
assume_inputs_non_null(false),
117121
object_factory_parameters(),
118122
max_user_array_length(0),
119123
lazy_methods_mode(lazy_methods_modet::LAZY_METHODS_MODE_EAGER),
120124
string_refinement_enabled(false),
125+
throw_runtime_exceptions(false),
126+
assert_uncaught_exceptions(false),
127+
throw_assertion_error(false),
128+
string_preprocess(message_handler),
129+
nondet_static(false),
121130
pointer_type_selector(std::move(pointer_type_selector))
122131
{
123132
}
124133

125-
java_bytecode_languaget():
134+
explicit java_bytecode_languaget(message_handlert &message_handler):
126135
java_bytecode_languaget(
127-
std::unique_ptr<select_pointer_typet>(new select_pointer_typet()))
136+
std::unique_ptr<select_pointer_typet>(new select_pointer_typet()),
137+
message_handler)
128138
{
129139
}
130140

@@ -145,7 +155,7 @@ class java_bytecode_languaget:public languaget
145155
const namespacet &ns) override;
146156

147157
std::unique_ptr<languaget> new_language() override
148-
{ return util_make_unique<java_bytecode_languaget>(); }
158+
{ return util_make_unique<java_bytecode_languaget>(get_message_handler()); }
149159

150160
std::string id() const override { return "java"; }
151161
std::string description() const override { return "Java Bytecode"; }
@@ -211,7 +221,7 @@ class java_bytecode_languaget:public languaget
211221
std::vector<load_extra_methodst> extra_methods;
212222
};
213223

214-
std::unique_ptr<languaget> new_java_bytecode_language();
224+
std::unique_ptr<languaget> new_java_bytecode_language(message_handlert &message_handler);
215225

216226
void parse_java_language_options(const cmdlinet &cmd, optionst &options);
217227

jbmc/src/java_bytecode/java_bytecode_parser.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ Author: Daniel Kroening, [email protected]
3232
class java_bytecode_parsert:public parsert
3333
{
3434
public:
35-
explicit java_bytecode_parsert(bool skip_instructions)
36-
: skip_instructions(skip_instructions)
35+
java_bytecode_parsert(bool skip_instructions, message_handlert &message_handler)
36+
: parsert(message_handler), skip_instructions(skip_instructions)
3737
{
3838
populate_bytecode_mnemonics_table();
3939
}
@@ -1875,9 +1875,8 @@ java_bytecode_parse(
18751875
message_handlert &message_handler,
18761876
bool skip_instructions)
18771877
{
1878-
java_bytecode_parsert java_bytecode_parser(skip_instructions);
1878+
java_bytecode_parsert java_bytecode_parser(skip_instructions, message_handler);
18791879
java_bytecode_parser.in=&istream;
1880-
java_bytecode_parser.set_message_handler(message_handler);
18811880

18821881
bool parser_result=java_bytecode_parser.parse();
18831882

jbmc/src/java_bytecode/java_class_loader.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ class java_class_loadert : public java_class_loader_baset
3737
typedef std::function<std::vector<irep_idt>(const irep_idt &)>
3838
get_extra_class_refs_functiont;
3939

40-
java_class_loadert()
40+
explicit java_class_loadert(message_handlert &message_handler)
41+
: java_class_loader_baset(message_handler)
4142
{
4243
}
4344

jbmc/src/java_bytecode/java_class_loader_base.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ Author: Daniel Kroening, [email protected]
1818
class java_class_loader_baset : public messaget
1919
{
2020
public:
21+
explicit java_class_loader_baset(message_handlert &message_handler)
22+
: messaget(message_handler)
23+
{
24+
}
25+
2126
/// Clear all classpath entries
2227
void clear_classpath()
2328
{

jbmc/src/java_bytecode/java_string_library_preprocess.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ Date: March 2017
3535
class java_string_library_preprocesst:public messaget
3636
{
3737
public:
38-
java_string_library_preprocesst()
39-
: char_type(java_char_type()),
38+
explicit java_string_library_preprocesst(message_handlert &message_handler)
39+
: messaget(message_handler),
40+
character_preprocess(message_handler),
41+
char_type(java_char_type()),
4042
index_type(java_int_type()),
4143
refined_string_type(index_type, pointer_type(char_type))
4244
{

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -470,8 +470,8 @@ int jbmc_parse_optionst::doit()
470470
break;
471471
}
472472

473-
register_language(new_ansi_c_language);
474-
register_language(new_java_bytecode_language);
473+
register_language(new_ansi_c_language, get_message_handler());
474+
register_language(new_java_bytecode_language, get_message_handler());
475475

476476
if(cmdline.isset("show-parse-tree"))
477477
{

jbmc/src/jdiff/jdiff_languages.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ Author: Peter Schrammel
1717

1818
void jdiff_languagest::register_languages()
1919
{
20-
register_language(new_java_bytecode_language);
20+
register_language(new_java_bytecode_language, get_message_handler());
2121
}

0 commit comments

Comments
 (0)