Skip to content

Commit 7dd2c65

Browse files
committed
To revert: language-is-a-messaget
1 parent 3461eca commit 7dd2c65

40 files changed

+225
-75
lines changed

jbmc/src/janalyzer/janalyzer_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ janalyzer_parse_optionst::janalyzer_parse_optionst(int argc, const char **argv)
7272
void janalyzer_parse_optionst::register_languages()
7373
{
7474
// Need ansi C language for __CPROVER_rounding_mode
75-
register_language(new_ansi_c_language);
76-
register_language(new_java_bytecode_language);
75+
register_language(new_ansi_c_language, get_message_handler());
76+
register_language(new_java_bytecode_language, get_message_handler());
7777
}
7878

7979
void janalyzer_parse_optionst::get_command_line_options(optionst &options)

jbmc/src/java_bytecode/java_bytecode_language.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1683,9 +1683,9 @@ void java_bytecode_languaget::show_parse(std::ostream &out, message_handlert &)
16831683
}
16841684
}
16851685

1686-
std::unique_ptr<languaget> new_java_bytecode_language()
1686+
std::unique_ptr<languaget> new_java_bytecode_language(message_handlert &message_handler)
16871687
{
1688-
return util_make_unique<java_bytecode_languaget>();
1688+
return util_make_unique<java_bytecode_languaget>(message_handler);
16891689
}
16901690

16911691
bool java_bytecode_languaget::from_expr(

jbmc/src/java_bytecode/java_bytecode_language.h

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -310,15 +310,34 @@ class java_bytecode_languaget:public languaget
310310

311311
virtual ~java_bytecode_languaget();
312312
java_bytecode_languaget(
313+
<<<<<<< HEAD
313314
std::unique_ptr<select_pointer_typet> pointer_type_selector)
314315
: object_factory_parameters(),
316+
=======
317+
std::unique_ptr<select_pointer_typet> pointer_type_selector,
318+
message_handlert &message_handler):
319+
languaget(message_handler),
320+
java_class_loader(message_handler),
321+
language_options_initialized(false),
322+
threading_support(false),
323+
assume_inputs_non_null(false),
324+
object_factory_parameters(),
325+
max_user_array_length(0),
326+
lazy_methods_mode(lazy_methods_modet::LAZY_METHODS_MODE_EAGER),
327+
string_refinement_enabled(false),
328+
throw_runtime_exceptions(false),
329+
assert_uncaught_exceptions(false),
330+
throw_assertion_error(false),
331+
nondet_static(false),
332+
>>>>>>> To revert: language-is-a-messaget
315333
pointer_type_selector(std::move(pointer_type_selector))
316334
{
317335
}
318336

319-
java_bytecode_languaget():
337+
explicit java_bytecode_languaget(message_handlert &message_handler):
320338
java_bytecode_languaget(
321-
std::unique_ptr<select_pointer_typet>(new select_pointer_typet()))
339+
std::unique_ptr<select_pointer_typet>(new select_pointer_typet()),
340+
message_handler)
322341
{
323342
}
324343

@@ -340,7 +359,7 @@ class java_bytecode_languaget:public languaget
340359
message_handlert &message_handler) override;
341360

342361
std::unique_ptr<languaget> new_language() override
343-
{ return util_make_unique<java_bytecode_languaget>(); }
362+
{ return util_make_unique<java_bytecode_languaget>(get_message_handler()); }
344363

345364
std::string id() const override { return "java"; }
346365
std::string description() const override { return "Java Bytecode"; }
@@ -422,7 +441,7 @@ class java_bytecode_languaget:public languaget
422441
void initialize_class_loader();
423442
};
424443

425-
std::unique_ptr<languaget> new_java_bytecode_language();
444+
std::unique_ptr<languaget> new_java_bytecode_language(message_handlert &message_handler);
426445

427446
void parse_java_language_options(const cmdlinet &cmd, optionst &options);
428447

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: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ 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+
char_type(java_char_type()),
4041
index_type(java_int_type()),
4142
refined_string_type(index_type, pointer_type(char_type))
4243
{

jbmc/src/java_bytecode/lazy_goto_model.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ lazy_goto_modelt::lazy_goto_modelt(
4949
driver_program_can_generate_function_body,
5050
driver_program_generate_function_body,
5151
message_handler),
52+
language_files(message_handler),
5253
post_process_function(post_process_function),
5354
post_process_functions(post_process_functions),
5455
driver_program_can_generate_function_body(

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,8 @@ int jbmc_parse_optionst::doit()
507507
break;
508508
}
509509

510-
register_language(new_ansi_c_language);
511-
register_language(new_java_bytecode_language);
510+
register_language(new_ansi_c_language, get_message_handler());
511+
register_language(new_java_bytecode_language, get_message_handler());
512512

513513
if(!((cmdline.isset("jar") && cmdline.args.empty()) ||
514514
(cmdline.isset("gb") && cmdline.args.empty()) ||

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_parse_optionst::register_languages()
1919
{
20-
register_language(new_java_bytecode_language);
20+
register_language(new_java_bytecode_language, get_message_handler());
2121
}

jbmc/unit/java-testing-utils/load_java_class.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ symbol_tablet load_java_class_lazy(
3737
const std::string &class_path,
3838
const std::string &main)
3939
{
40-
std::unique_ptr<languaget> lang = new_java_bytecode_language();
40+
std::unique_ptr<languaget> lang = new_java_bytecode_language(null_message_handler);
4141

4242
return load_java_class(java_class_name, class_path, main, std::move(lang));
4343
}
@@ -188,7 +188,7 @@ goto_modelt load_goto_model_from_java_class(
188188
for(const auto &option : command_line_options)
189189
command_line.add_option(option.first, option.second);
190190

191-
std::unique_ptr<languaget> lang = new_java_bytecode_language();
191+
std::unique_ptr<languaget> lang = new_java_bytecode_language(null_message_handler);
192192

193193
return load_goto_model_from_java_class(
194194
java_class_name, class_path, main, std::move(lang), command_line);

0 commit comments

Comments
 (0)