File tree 5 files changed +33
-2
lines changed
5 files changed +33
-2
lines changed Original file line number Diff line number Diff line change 11
11
12
12
#include < util/irep.h>
13
13
14
+ #define JAVA_ENTRY_POINT_RETURN_SYMBOL " return'"
15
+
14
16
bool java_entry_point (
15
17
class symbol_tablet &symbol_table,
16
18
const irep_idt &main_class,
Original file line number Diff line number Diff line change @@ -483,7 +483,8 @@ void gen_nondet_init(
483
483
bool create_dyn_objs,
484
484
bool assume_non_null,
485
485
message_handlert &message_handler,
486
- size_t max_nondet_array_length)
486
+ size_t max_nondet_array_length,
487
+ update_in_placet update_in_place)
487
488
{
488
489
java_object_factoryt state (
489
490
init_code,
Original file line number Diff line number Diff line change @@ -22,6 +22,13 @@ exprt object_factory(
22
22
const source_locationt &,
23
23
message_handlert &message_handler);
24
24
25
+ enum update_in_placet
26
+ {
27
+ NO_UPDATE_IN_PLACE,
28
+ MAY_UPDATE_IN_PLACE,
29
+ MUST_UPDATE_IN_PLACE
30
+ };
31
+
25
32
void gen_nondet_init (
26
33
const exprt &expr,
27
34
code_blockt &init_code,
@@ -31,7 +38,8 @@ void gen_nondet_init(
31
38
bool create_dynamic_objects,
32
39
bool assume_non_null,
33
40
message_handlert &message_handler,
34
- size_t max_nondet_array_length=5 );
41
+ size_t max_nondet_array_length,
42
+ update_in_placet update_in_place=NO_UPDATE_IN_PLACE);
35
43
36
44
37
45
exprt get_nondet_bool (const typet &);
Original file line number Diff line number Diff line change 9
9
#include < cassert>
10
10
#include < cctype>
11
11
12
+ #include < util/prefix.h>
12
13
#include < util/std_types.h>
13
14
#include < util/std_expr.h>
14
15
#include < util/ieee_float.h>
@@ -231,6 +232,23 @@ pointer_typet java_array_type(const char subtype)
231
232
232
233
/* ******************************************************************\
233
234
235
+ Function: is_java_array_tag
236
+
237
+ Inputs: Struct tag 'tag'
238
+
239
+ Outputs: True if the given struct is a Java array
240
+
241
+ Purpose: See above
242
+
243
+ \*******************************************************************/
244
+
245
+ bool is_java_array_tag (const irep_idt& tag)
246
+ {
247
+ return has_prefix (id2string (tag), " java::array[" );
248
+ }
249
+
250
+ /* ******************************************************************\
251
+
234
252
Function: is_reference_type
235
253
236
254
Inputs:
Original file line number Diff line number Diff line change @@ -44,4 +44,6 @@ char java_char_from_type(const typet &type);
44
44
typet java_bytecode_promotion (const typet &);
45
45
exprt java_bytecode_promotion (const exprt &);
46
46
47
+ bool is_java_array_tag (const irep_idt& tag);
48
+
47
49
#endif // CPROVER_JAVA_BYTECODE_JAVA_TYPES_H
You can’t perform that action at this time.
0 commit comments