77
77
#include < java_bytecode/simple_method_stubbing.h>
78
78
79
79
jbmc_parse_optionst::jbmc_parse_optionst (int argc, const char **argv)
80
- : parse_options_baset(JBMC_OPTIONS, argc, argv, ui_message_handler),
81
- ui_message_handler(cmdline, std::string(" JBMC " ) + CBMC_VERSION)
80
+ : parse_options_baset(
81
+ JBMC_OPTIONS,
82
+ argc,
83
+ argv,
84
+ std::string (" JBMC " ) + CBMC_VERSION)
82
85
{
83
86
}
84
87
@@ -90,8 +93,7 @@ ::jbmc_parse_optionst::jbmc_parse_optionst(
90
93
JBMC_OPTIONS + extra_options,
91
94
argc,
92
95
argv,
93
- ui_message_handler),
94
- ui_message_handler(cmdline, std::string(" JBMC " ) + CBMC_VERSION)
96
+ std::string (" JBMC " ) + CBMC_VERSION)
95
97
{
96
98
}
97
99
@@ -158,7 +160,7 @@ void jbmc_parse_optionst::get_command_line_options(optionst &options)
158
160
if (
159
161
cmdline.isset (" trace" ) || cmdline.isset (" compact-trace" ) ||
160
162
cmdline.isset (" stack-trace" ) || cmdline.isset (" stop-on-fail" ) ||
161
- (ui_message_handler. get_ui () != ui_message_handlert::uit::PLAIN &&
163
+ (message_handler-> get_ui () != ui_message_handlert::uit::PLAIN &&
162
164
!cmdline.isset (" cover" )))
163
165
{
164
166
options.set_option (" trace" , true );
@@ -442,7 +444,7 @@ int jbmc_parse_optionst::doit()
442
444
<< config.this_operating_system () << messaget::eom;
443
445
444
446
// output the options
445
- switch (ui_message_handler. get_ui ())
447
+ switch (message_handler-> get_ui ())
446
448
{
447
449
case ui_message_handlert::uit::PLAIN:
448
450
log .conditional_output (
@@ -564,7 +566,7 @@ int jbmc_parse_optionst::doit()
564
566
if (cmdline.isset (" show-properties" ))
565
567
{
566
568
show_properties (
567
- goto_model, log .get_message_handler (), ui_message_handler. get_ui ());
569
+ goto_model, log .get_message_handler (), message_handler-> get_ui ());
568
570
return 0 ; // should contemplate EX_OK from sysexits.h
569
571
}
570
572
@@ -578,13 +580,13 @@ int jbmc_parse_optionst::doit()
578
580
if (options.get_bool_option (" paths" ))
579
581
{
580
582
all_properties_verifiert<java_single_path_symex_only_checkert> verifier (
581
- options, ui_message_handler , goto_model);
583
+ options, *message_handler , goto_model);
582
584
(void )verifier ();
583
585
}
584
586
else
585
587
{
586
588
all_properties_verifiert<java_multi_path_symex_only_checkert> verifier (
587
- options, ui_message_handler , goto_model);
589
+ options, *message_handler , goto_model);
588
590
(void )verifier ();
589
591
}
590
592
@@ -598,13 +600,13 @@ int jbmc_parse_optionst::doit()
598
600
if (options.get_bool_option (" paths" ))
599
601
{
600
602
stop_on_fail_verifiert<java_single_path_symex_checkert> verifier (
601
- options, ui_message_handler , goto_model);
603
+ options, *message_handler , goto_model);
602
604
(void )verifier ();
603
605
}
604
606
else
605
607
{
606
608
stop_on_fail_verifiert<java_multi_path_symex_checkert> verifier (
607
- options, ui_message_handler , goto_model);
609
+ options, *message_handler , goto_model);
608
610
(void )verifier ();
609
611
}
610
612
@@ -619,7 +621,7 @@ int jbmc_parse_optionst::doit()
619
621
{
620
622
verifier = util_make_unique<
621
623
stop_on_fail_verifiert<java_single_path_symex_checkert>>(
622
- options, ui_message_handler , goto_model);
624
+ options, *message_handler , goto_model);
623
625
}
624
626
else if (
625
627
options.get_bool_option (" stop-on-fail" ) &&
@@ -630,13 +632,13 @@ int jbmc_parse_optionst::doit()
630
632
verifier =
631
633
util_make_unique<stop_on_fail_verifier_with_fault_localizationt<
632
634
java_multi_path_symex_checkert>>(
633
- options, ui_message_handler , goto_model);
635
+ options, *message_handler , goto_model);
634
636
}
635
637
else
636
638
{
637
639
verifier = util_make_unique<
638
640
stop_on_fail_verifiert<java_multi_path_symex_checkert>>(
639
- options, ui_message_handler , goto_model);
641
+ options, *message_handler , goto_model);
640
642
}
641
643
}
642
644
else if (
@@ -645,7 +647,7 @@ int jbmc_parse_optionst::doit()
645
647
{
646
648
verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
647
649
java_single_path_symex_checkert>>(
648
- options, ui_message_handler , goto_model);
650
+ options, *message_handler , goto_model);
649
651
}
650
652
else if (
651
653
!options.get_bool_option (" stop-on-fail" ) &&
@@ -656,13 +658,13 @@ int jbmc_parse_optionst::doit()
656
658
verifier =
657
659
util_make_unique<all_properties_verifier_with_fault_localizationt<
658
660
java_multi_path_symex_checkert>>(
659
- options, ui_message_handler , goto_model);
661
+ options, *message_handler , goto_model);
660
662
}
661
663
else
662
664
{
663
665
verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
664
666
java_multi_path_symex_checkert>>(
665
- options, ui_message_handler , goto_model);
667
+ options, *message_handler , goto_model);
666
668
}
667
669
}
668
670
else
@@ -672,7 +674,7 @@ int jbmc_parse_optionst::doit()
672
674
// The `configure_bmc` callback passed will enable enum-unwind-static if
673
675
// applicable.
674
676
return bmct::do_language_agnostic_bmc (
675
- options, goto_model, ui_message_handler , configure_bmc);
677
+ options, goto_model, *message_handler , configure_bmc);
676
678
}
677
679
678
680
const resultt result = (*verifier)();
@@ -683,7 +685,7 @@ int jbmc_parse_optionst::doit()
683
685
{
684
686
// Use symex-driven lazy loading:
685
687
lazy_goto_modelt lazy_goto_model =
686
- lazy_goto_modelt::from_handler_object (*this , options, ui_message_handler );
688
+ lazy_goto_modelt::from_handler_object (*this , options, *message_handler );
687
689
lazy_goto_model.initialize (cmdline.args , options);
688
690
689
691
class_hierarchy =
@@ -720,7 +722,7 @@ int jbmc_parse_optionst::doit()
720
722
return bmct::do_language_agnostic_bmc (
721
723
options,
722
724
lazy_goto_model,
723
- ui_message_handler ,
725
+ *message_handler ,
724
726
configure_bmc,
725
727
callback_after_symex);
726
728
}
@@ -740,7 +742,7 @@ int jbmc_parse_optionst::get_goto_program(
740
742
{
741
743
{
742
744
lazy_goto_modelt lazy_goto_model =
743
- lazy_goto_modelt::from_handler_object (*this , options, ui_message_handler );
745
+ lazy_goto_modelt::from_handler_object (*this , options, *message_handler );
744
746
lazy_goto_model.initialize (cmdline.args , options);
745
747
746
748
class_hierarchy =
@@ -749,7 +751,7 @@ int jbmc_parse_optionst::get_goto_program(
749
751
// Show the class hierarchy
750
752
if (cmdline.isset (" show-class-hierarchy" ))
751
753
{
752
- show_class_hierarchy (*class_hierarchy, ui_message_handler );
754
+ show_class_hierarchy (*class_hierarchy, *message_handler );
753
755
return CPROVER_EXIT_SUCCESS;
754
756
}
755
757
@@ -764,12 +766,12 @@ int jbmc_parse_optionst::get_goto_program(
764
766
// values, etc
765
767
if (cmdline.isset (" show-symbol-table" ))
766
768
{
767
- show_symbol_table (lazy_goto_model.symbol_table , ui_message_handler );
769
+ show_symbol_table (lazy_goto_model.symbol_table , *message_handler );
768
770
return 0 ;
769
771
}
770
772
else if (cmdline.isset (" list-symbols" ))
771
773
{
772
- show_symbol_table_brief (lazy_goto_model.symbol_table , ui_message_handler );
774
+ show_symbol_table_brief (lazy_goto_model.symbol_table , *message_handler );
773
775
return 0 ;
774
776
}
775
777
@@ -788,7 +790,7 @@ int jbmc_parse_optionst::get_goto_program(
788
790
// show it?
789
791
if (cmdline.isset (" show-loops" ))
790
792
{
791
- show_loop_ids (ui_message_handler. get_ui (), *goto_model);
793
+ show_loop_ids (message_handler-> get_ui (), *goto_model);
792
794
return 0 ;
793
795
}
794
796
@@ -800,7 +802,7 @@ int jbmc_parse_optionst::get_goto_program(
800
802
show_goto_functions (
801
803
*goto_model,
802
804
log .get_message_handler (),
803
- ui_message_handler. get_ui (),
805
+ message_handler-> get_ui (),
804
806
cmdline.isset (" list-goto-functions" ));
805
807
return 0 ;
806
808
}
@@ -844,8 +846,7 @@ void jbmc_parse_optionst::process_goto_function(
844
846
replace_java_nondet (function);
845
847
846
848
// Similar removal of java nondet statements:
847
- convert_nondet (
848
- function, ui_message_handler, object_factory_params, ID_java);
849
+ convert_nondet (function, *message_handler, object_factory_params, ID_java);
849
850
850
851
if (using_symex_driven_loading)
851
852
{
@@ -859,7 +860,7 @@ void jbmc_parse_optionst::process_goto_function(
859
860
goto_function.body ,
860
861
symbol_table,
861
862
*class_hierarchy.get (),
862
- ui_message_handler );
863
+ *message_handler );
863
864
}
864
865
865
866
// add generic checks
@@ -871,7 +872,7 @@ void jbmc_parse_optionst::process_goto_function(
871
872
function.get_function_id (),
872
873
goto_function,
873
874
symbol_table,
874
- ui_message_handler );
875
+ *message_handler );
875
876
876
877
// checks don't know about adjusted float expressions
877
878
adjust_float_expressions (goto_function, ns);
@@ -908,18 +909,18 @@ bool jbmc_parse_optionst::show_loaded_functions(
908
909
{
909
910
if (cmdline.isset (" show-symbol-table" ))
910
911
{
911
- show_symbol_table (goto_model.get_symbol_table (), ui_message_handler );
912
+ show_symbol_table (goto_model.get_symbol_table (), *message_handler );
912
913
return true ;
913
914
}
914
915
else if (cmdline.isset (" list-symbols" ))
915
916
{
916
- show_symbol_table_brief (goto_model.get_symbol_table (), ui_message_handler );
917
+ show_symbol_table_brief (goto_model.get_symbol_table (), *message_handler );
917
918
return true ;
918
919
}
919
920
920
921
if (cmdline.isset (" show-loops" ))
921
922
{
922
- show_loop_ids (ui_message_handler. get_ui (), goto_model.get_goto_functions ());
923
+ show_loop_ids (message_handler-> get_ui (), goto_model.get_goto_functions ());
923
924
return true ;
924
925
}
925
926
@@ -930,8 +931,8 @@ bool jbmc_parse_optionst::show_loaded_functions(
930
931
namespacet ns (goto_model.get_symbol_table ());
931
932
show_goto_functions (
932
933
ns,
933
- ui_message_handler ,
934
- ui_message_handler. get_ui (),
934
+ *message_handler ,
935
+ message_handler-> get_ui (),
935
936
goto_model.get_goto_functions (),
936
937
cmdline.isset (" list-goto-functions" ));
937
938
return true ;
@@ -943,7 +944,7 @@ bool jbmc_parse_optionst::show_loaded_functions(
943
944
show_properties (
944
945
ns,
945
946
log .get_message_handler (),
946
- ui_message_handler. get_ui (),
947
+ message_handler-> get_ui (),
947
948
goto_model.get_goto_functions ());
948
949
return true ;
949
950
}
@@ -1077,9 +1078,9 @@ bool jbmc_parse_optionst::generate_function_body(
1077
1078
symbol_table,
1078
1079
stub_objects_are_not_null,
1079
1080
object_factory_params,
1080
- ui_message_handler );
1081
+ *message_handler );
1081
1082
1082
- goto_convert_functionst converter (symbol_table, ui_message_handler );
1083
+ goto_convert_functionst converter (symbol_table, *message_handler );
1083
1084
converter.convert_function (function_name, function);
1084
1085
1085
1086
return true ;
0 commit comments