Skip to content

Commit 366ee47

Browse files
author
thk123
committed
Replaced shared pointers with references
Sicne we don't ever need to reassign, this is more correct.
1 parent 20fb068 commit 366ee47

File tree

5 files changed

+17
-18
lines changed

5 files changed

+17
-18
lines changed

src/java_bytecode/java_bytecode_language.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,14 +698,15 @@ bool java_bytecode_languaget::final(symbol_tablet &symbol_table)
698698

699699
symbolt entry=res.main_function;
700700

701+
select_pointer_typet pointer_type_selector;
701702
return(
702703
java_entry_point(
703704
symbol_table,
704705
main_class,
705706
get_message_handler(),
706707
assume_inputs_non_null,
707708
max_nondet_array_length,
708-
std::make_shared<select_pointer_typet>()));
709+
pointer_type_selector));
709710
}
710711

711712
void java_bytecode_languaget::show_parse(std::ostream &out)

src/java_bytecode/java_entry_point.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ void java_static_lifetime_init(
7979
const source_locationt &source_location,
8080
bool assume_init_pointers_not_null,
8181
unsigned max_nondet_array_length,
82-
std::shared_ptr<select_pointer_typet> pointer_type_selector)
82+
const select_pointer_typet &pointer_type_selector)
8383
{
8484
symbolt &initialize_symbol=symbol_table.lookup(INITIALIZE);
8585
code_blockt &code_block=to_code_block(to_code(initialize_symbol.value));
@@ -141,7 +141,7 @@ exprt::operandst java_build_arguments(
141141
symbol_tablet &symbol_table,
142142
bool assume_init_pointers_not_null,
143143
size_t max_nondet_array_length,
144-
std::shared_ptr<select_pointer_typet> pointer_type_selector)
144+
const select_pointer_typet &pointer_type_selector)
145145
{
146146
const code_typet::parameterst &parameters=
147147
to_code_type(function.type).parameters();
@@ -467,7 +467,7 @@ bool java_entry_point(
467467
message_handlert &message_handler,
468468
bool assume_init_pointers_not_null,
469469
size_t max_nondet_array_length,
470-
std::shared_ptr<select_pointer_typet> pointer_type_selector)
470+
const select_pointer_typet &pointer_type_selector)
471471
{
472472
// check if the entry point is already there
473473
if(symbol_table.symbols.find(goto_functionst::entry_point())!=

src/java_bytecode/java_entry_point.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Author: Daniel Kroening, [email protected]
1010
#ifndef CPROVER_JAVA_BYTECODE_JAVA_ENTRY_POINT_H
1111
#define CPROVER_JAVA_BYTECODE_JAVA_ENTRY_POINT_H
1212

13-
#include <memory>
1413
#include <util/irep.h>
1514
#include <java_bytecode/select_pointer_type.h>
1615

@@ -22,7 +21,7 @@ bool java_entry_point(
2221
class message_handlert &message_handler,
2322
bool assume_init_pointers_not_null,
2423
size_t max_nondet_array_length,
25-
std::shared_ptr<select_pointer_typet> pointer_type_selector);
24+
const select_pointer_typet &pointer_type_selector);
2625

2726
typedef struct
2827
{

src/java_bytecode/java_object_factory.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Author: Daniel Kroening, [email protected]
1010

1111
#include <unordered_set>
1212
#include <sstream>
13-
#include <memory>
1413

1514
#include <util/arith_tools.h>
1615
#include <util/fresh_symbol.h>
@@ -61,7 +60,7 @@ class java_object_factoryt
6160
/// Resolves pointer types potentially using some heuristics for example
6261
/// to replace pointers to interface types with pointers to concrete
6362
/// implementations.
64-
std::shared_ptr<select_pointer_typet> pointer_type_selector;
63+
const select_pointer_typet &pointer_type_selector;
6564

6665
void set_null(
6766
const exprt &expr,
@@ -92,7 +91,7 @@ class java_object_factoryt
9291
bool _assume_non_null,
9392
size_t _max_nondet_array_length,
9493
symbol_tablet &_symbol_table,
95-
std::shared_ptr<select_pointer_typet> pointer_type_selector):
94+
const select_pointer_typet &pointer_type_selector):
9695
symbols_created(_symbols_created),
9796
loc(loc),
9897
assume_non_null(_assume_non_null),
@@ -413,7 +412,7 @@ void java_object_factoryt::gen_nondet_pointer_init(
413412
const update_in_placet &update_in_place)
414413
{
415414
const pointer_typet &replacement_pointer_type=
416-
pointer_type_selector->convert_pointer_type(pointer_type);
415+
pointer_type_selector.convert_pointer_type(pointer_type);
417416

418417
// If we are changing the pointer, we generate code for creating a pointer
419418
// to the substituted type instead
@@ -967,7 +966,7 @@ exprt object_factory(
967966
size_t max_nondet_array_length,
968967
allocation_typet alloc_type,
969968
const source_locationt &loc,
970-
std::shared_ptr<select_pointer_typet> pointer_type_selector)
969+
const select_pointer_typet &pointer_type_selector)
971970
{
972971
irep_idt identifier=id2string(goto_functionst::entry_point())+
973972
"::"+id2string(base_name);
@@ -1043,7 +1042,7 @@ void gen_nondet_init(
10431042
allocation_typet alloc_type,
10441043
bool assume_non_null,
10451044
size_t max_nondet_array_length,
1046-
std::shared_ptr<select_pointer_typet> pointer_type_selector,
1045+
const select_pointer_typet &pointer_type_selector,
10471046
update_in_placet update_in_place)
10481047
{
10491048
std::vector<const symbolt *> symbols_created;
@@ -1082,6 +1081,7 @@ exprt object_factory(const typet &type,
10821081
allocation_typet alloc_type,
10831082
const source_locationt &location)
10841083
{
1084+
select_pointer_typet pointer_type_selector;
10851085
return object_factory(
10861086
type,
10871087
base_name,
@@ -1091,7 +1091,7 @@ exprt object_factory(const typet &type,
10911091
max_nondet_array_length,
10921092
alloc_type,
10931093
location,
1094-
std::make_shared<select_pointer_typet>());
1094+
pointer_type_selector);
10951095
}
10961096

10971097
/// Call gen_nondet_init with a default (identity) pointer_type_selector
@@ -1105,6 +1105,7 @@ void gen_nondet_init(const exprt &expr,
11051105
size_t max_nondet_array_length,
11061106
update_in_placet update_in_place)
11071107
{
1108+
select_pointer_typet pointer_type_selector;
11081109
gen_nondet_init(
11091110
expr,
11101111
init_code,
@@ -1114,6 +1115,6 @@ void gen_nondet_init(const exprt &expr,
11141115
alloc_type,
11151116
assume_non_null,
11161117
max_nondet_array_length,
1117-
std::make_shared<select_pointer_typet>(),
1118+
pointer_type_selector,
11181119
update_in_place);
11191120
}

src/java_bytecode/java_object_factory.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ Author: Daniel Kroening, [email protected]
99
#ifndef CPROVER_JAVA_BYTECODE_JAVA_OBJECT_FACTORY_H
1010
#define CPROVER_JAVA_BYTECODE_JAVA_OBJECT_FACTORY_H
1111

12-
#include <memory>
13-
1412
#include <util/message.h>
1513
#include <util/std_code.h>
1614
#include <util/symbol_table.h>
@@ -36,7 +34,7 @@ exprt object_factory(
3634
size_t max_nondet_array_length,
3735
allocation_typet alloc_type,
3836
const source_locationt &location,
39-
std::shared_ptr<select_pointer_typet> pointer_type_selector);
37+
const select_pointer_typet &pointer_type_selector);
4038

4139
exprt object_factory(
4240
const typet &type,
@@ -64,7 +62,7 @@ void gen_nondet_init(
6462
allocation_typet alloc_type,
6563
bool assume_non_null,
6664
size_t max_nondet_array_length,
67-
std::shared_ptr<select_pointer_typet> pointer_type_selector,
65+
const select_pointer_typet &pointer_type_selector,
6866
update_in_placet update_in_place);
6967

7068
void gen_nondet_init(

0 commit comments

Comments
 (0)