Skip to content

Commit 4b245f8

Browse files
Use optionalt instead of safe_pointer
1 parent c69b00d commit 4b245f8

7 files changed

+16
-88
lines changed

src/java_bytecode/ci_lazy_methods.cpp

+6-8
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include <java_bytecode/java_entry_point.h>
1212
#include <java_bytecode/java_class_loader.h>
1313
#include <java_bytecode/java_utils.h>
14-
#include <util/safe_pointer.h>
1514
#include <util/suffix.h>
1615
#include <java_bytecode/java_string_library_preprocess.h>
1716

@@ -68,7 +67,7 @@ ci_lazy_methodst::ci_lazy_methodst(
6867
bool ci_lazy_methodst::operator()(
6968
symbol_tablet &symbol_table,
7069
method_bytecodet &method_bytecode,
71-
method_convertert method_converter)
70+
const method_convertert &method_converter)
7271
{
7372
std::vector<irep_idt> method_worklist1;
7473
std::vector<irep_idt> method_worklist2;
@@ -149,13 +148,12 @@ bool ci_lazy_methodst::operator()(
149148
}
150149
debug() << "CI lazy methods: elaborate " << mname << eom;
151150
const auto &parsed_method=findit->second;
152-
// Note this wraps *references* to method_worklist2, needed_classes:
153-
ci_lazy_methods_neededt new_lazy_methods(
154-
method_worklist2,
155-
needed_classes,
156-
symbol_table);
157151
method_converter(
158-
*parsed_method.first, *parsed_method.second, new_lazy_methods);
152+
*parsed_method.first,
153+
*parsed_method.second,
154+
// Note this wraps *references* to method_worklist2 & needed_classes
155+
ci_lazy_methods_neededt(
156+
method_worklist2, needed_classes, symbol_table));
159157
gather_virtual_callsites(
160158
symbol_table.lookup_ref(mname).value,
161159
virtual_callsites);

src/java_bytecode/ci_lazy_methods.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class ci_lazy_methodst:public messaget
5454
bool operator()(
5555
symbol_tablet &symbol_table,
5656
method_bytecodet &method_bytecode,
57-
method_convertert method_converter);
57+
const method_convertert &method_converter);
5858

5959
private:
6060
void resolve_method_names(

src/java_bytecode/java_bytecode_convert_method.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2850,7 +2850,7 @@ void java_bytecode_convert_method(
28502850
symbol_tablet &symbol_table,
28512851
message_handlert &message_handler,
28522852
size_t max_array_length,
2853-
safe_pointer<ci_lazy_methods_neededt> needed_lazy_methods,
2853+
optionalt<ci_lazy_methods_neededt> needed_lazy_methods,
28542854
java_string_library_preprocesst &string_preprocess)
28552855
{
28562856
static const std::unordered_set<std::string> methods_to_ignore

src/java_bytecode/java_bytecode_convert_method.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ Author: Daniel Kroening, [email protected]
1414

1515
#include <util/symbol_table.h>
1616
#include <util/message.h>
17-
#include <util/safe_pointer.h>
1817
#include "java_string_library_preprocess.h"
1918

2019
#include "java_bytecode_parse_tree.h"
@@ -28,7 +27,7 @@ void java_bytecode_convert_method(
2827
symbol_tablet &symbol_table,
2928
message_handlert &message_handler,
3029
size_t max_array_length,
31-
safe_pointer<ci_lazy_methods_neededt> needed_lazy_methods,
30+
optionalt<ci_lazy_methods_neededt> needed_lazy_methods,
3231
java_string_library_preprocesst &string_preprocess);
3332

3433
inline void java_bytecode_convert_method(
@@ -45,7 +44,7 @@ inline void java_bytecode_convert_method(
4544
symbol_table,
4645
message_handler,
4746
max_array_length,
48-
safe_pointer<ci_lazy_methods_neededt>::create_null(),
47+
optionalt<ci_lazy_methods_neededt>(),
4948
string_preprocess);
5049
}
5150

src/java_bytecode/java_bytecode_convert_method_class.h

+3-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ Author: Daniel Kroening, [email protected]
1616
#include <util/message.h>
1717
#include <util/std_types.h>
1818
#include <util/std_expr.h>
19-
#include <util/safe_pointer.h>
2019
#include <analyses/cfg_dominators.h>
2120
#include "java_bytecode_parse_tree.h"
2221
#include "java_bytecode_convert_class.h"
@@ -35,12 +34,12 @@ class java_bytecode_convert_methodt:public messaget
3534
symbol_tablet &_symbol_table,
3635
message_handlert &_message_handler,
3736
size_t _max_array_length,
38-
safe_pointer<ci_lazy_methods_neededt> needed_lazy_methods,
37+
optionalt<ci_lazy_methods_neededt> needed_lazy_methods,
3938
java_string_library_preprocesst &_string_preprocess)
4039
: messaget(_message_handler),
4140
symbol_table(_symbol_table),
4241
max_array_length(_max_array_length),
43-
needed_lazy_methods(needed_lazy_methods),
42+
needed_lazy_methods(std::move(needed_lazy_methods)),
4443
string_preprocess(_string_preprocess),
4544
slots_for_parameters(0),
4645
method_has_this(false)
@@ -61,7 +60,7 @@ class java_bytecode_convert_methodt:public messaget
6160
protected:
6261
symbol_tablet &symbol_table;
6362
const size_t max_array_length;
64-
safe_pointer<ci_lazy_methods_neededt> needed_lazy_methods;
63+
optionalt<ci_lazy_methods_neededt> needed_lazy_methods;
6564

6665
/// Fully qualified name of the method under translation.
6766
/// Initialized by `convert`.

src/java_bytecode/java_bytecode_language.cpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -310,18 +310,17 @@ bool java_bytecode_languaget::do_ci_lazy_method_conversion(
310310
symbol_tablet &symbol_table,
311311
method_bytecodet &method_bytecode)
312312
{
313-
const auto method_converter=[&](
313+
const auto method_converter = [&](
314314
const symbolt &symbol,
315315
const java_bytecode_parse_treet::methodt &method,
316-
ci_lazy_methods_neededt new_lazy_methods)
317-
{
316+
ci_lazy_methods_neededt new_lazy_methods) {
318317
java_bytecode_convert_method(
319318
symbol,
320319
method,
321320
symbol_table,
322321
get_message_handler(),
323322
max_user_array_length,
324-
safe_pointer<ci_lazy_methods_neededt>::create_non_null(&new_lazy_methods),
323+
std::move(new_lazy_methods),
325324
string_preprocess);
326325
};
327326

src/util/safe_pointer.h

-67
This file was deleted.

0 commit comments

Comments
 (0)