Skip to content

Commit 3d8d44c

Browse files
authored
Merge pull request #3704 from diffblue/java_types
strengthen return types of java_*_type() functions
2 parents f873334 + 4511427 commit 3d8d44c

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

jbmc/src/java_bytecode/java_types.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,47 +29,47 @@ std::vector<typet> parse_list_types(
2929
const char opening_bracket,
3030
const char closing_bracket);
3131

32-
typet java_int_type()
32+
signedbv_typet java_int_type()
3333
{
3434
return signedbv_typet(32);
3535
}
3636

37-
typet java_void_type()
37+
void_typet java_void_type()
3838
{
3939
return void_typet();
4040
}
4141

42-
typet java_long_type()
42+
signedbv_typet java_long_type()
4343
{
4444
return signedbv_typet(64);
4545
}
4646

47-
typet java_short_type()
47+
signedbv_typet java_short_type()
4848
{
4949
return signedbv_typet(16);
5050
}
5151

52-
typet java_byte_type()
52+
signedbv_typet java_byte_type()
5353
{
5454
return signedbv_typet(8);
5555
}
5656

57-
typet java_char_type()
57+
unsignedbv_typet java_char_type()
5858
{
5959
return unsignedbv_typet(16);
6060
}
6161

62-
typet java_float_type()
62+
floatbv_typet java_float_type()
6363
{
6464
return ieee_float_spect::single_precision().to_type();
6565
}
6666

67-
typet java_double_type()
67+
floatbv_typet java_double_type()
6868
{
6969
return ieee_float_spect::double_precision().to_type();
7070
}
7171

72-
typet java_boolean_type()
72+
c_bool_typet java_boolean_type()
7373
{
7474
// The Java standard doesn't really prescribe the width
7575
// of a boolean. However, JNI suggests that it's 8 bits.
@@ -638,23 +638,23 @@ char java_char_from_type(const typet &type)
638638
if(id==ID_signedbv)
639639
{
640640
const size_t width=to_signedbv_type(type).get_width();
641-
if(to_signedbv_type(java_int_type()).get_width()==width)
641+
if(java_int_type().get_width() == width)
642642
return 'i';
643-
else if(to_signedbv_type(java_long_type()).get_width()==width)
643+
else if(java_long_type().get_width() == width)
644644
return 'l';
645-
else if(to_signedbv_type(java_short_type()).get_width()==width)
645+
else if(java_short_type().get_width() == width)
646646
return 's';
647-
else if(to_signedbv_type(java_byte_type()).get_width()==width)
647+
else if(java_byte_type().get_width() == width)
648648
return 'b';
649649
}
650650
else if(id==ID_unsignedbv)
651651
return 'c';
652652
else if(id==ID_floatbv)
653653
{
654654
const size_t width(to_floatbv_type(type).get_width());
655-
if(to_floatbv_type(java_float_type()).get_width()==width)
655+
if(java_float_type().get_width() == width)
656656
return 'f';
657-
else if(to_floatbv_type(java_double_type()).get_width()==width)
657+
else if(java_double_type().get_width() == width)
658658
return 'd';
659659
}
660660
else if(id==ID_c_bool)

jbmc/src/java_bytecode/java_types.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -359,15 +359,15 @@ inline java_method_typet &to_java_method_type(typet &type)
359359
return static_cast<java_method_typet &>(type);
360360
}
361361

362-
typet java_int_type();
363-
typet java_long_type();
364-
typet java_short_type();
365-
typet java_byte_type();
366-
typet java_char_type();
367-
typet java_float_type();
368-
typet java_double_type();
369-
typet java_boolean_type();
370-
typet java_void_type();
362+
signedbv_typet java_int_type();
363+
signedbv_typet java_long_type();
364+
signedbv_typet java_short_type();
365+
signedbv_typet java_byte_type();
366+
unsignedbv_typet java_char_type();
367+
floatbv_typet java_float_type();
368+
floatbv_typet java_double_type();
369+
c_bool_typet java_boolean_type();
370+
void_typet java_void_type();
371371
reference_typet java_reference_type(const typet &subtype);
372372
reference_typet java_lang_object_type();
373373
struct_tag_typet java_classname(const std::string &);

0 commit comments

Comments
 (0)