Skip to content

Commit 7a73e08

Browse files
author
Daniel Kroening
committed
use java_reference_typet
Auxiliary methods now return java_reference_typet; this is strictly stronger than reference_typet.
1 parent 6a10062 commit 7a73e08

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

jbmc/src/java_bytecode/java_types.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,13 @@ c_bool_typet java_boolean_type()
8686
return result;
8787
}
8888

89-
reference_typet java_reference_type(const typet &subtype)
89+
java_reference_typet java_reference_type(const typet &subtype)
9090
{
91-
return reference_type(subtype);
91+
PRECONDITION(subtype.id() == ID_struct_tag);
92+
return to_java_reference_type(reference_type(subtype));
9293
}
9394

94-
reference_typet java_lang_object_type()
95+
java_reference_typet java_lang_object_type()
9596
{
9697
static const auto result =
9798
java_reference_type(struct_tag_typet("java::java.lang.Object"));
@@ -102,7 +103,7 @@ reference_typet java_lang_object_type()
102103
/// java::array[]. Its ID_element_type is set to the corresponding primitive
103104
/// type, or void* for arrays of references.
104105
/// \param subtype: Character indicating the type of array
105-
reference_typet java_array_type(const char subtype)
106+
java_reference_typet java_array_type(const char subtype)
106107
{
107108
std::string subtype_str;
108109

jbmc/src/java_bytecode/java_types.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,11 +411,11 @@ floatbv_typet java_float_type();
411411
floatbv_typet java_double_type();
412412
c_bool_typet java_boolean_type();
413413
empty_typet java_void_type();
414-
reference_typet java_reference_type(const typet &subtype);
415-
reference_typet java_lang_object_type();
414+
java_reference_typet java_reference_type(const typet &subtype);
415+
java_reference_typet java_lang_object_type();
416416
struct_tag_typet java_classname(const std::string &);
417417

418-
reference_typet java_array_type(const char subtype);
418+
java_reference_typet java_array_type(const char subtype);
419419
const typet &java_array_element_type(const struct_tag_typet &array_symbol);
420420
typet &java_array_element_type(struct_tag_typet &array_symbol);
421421
bool is_java_array_type(const typet &type);

0 commit comments

Comments
 (0)