@@ -1391,6 +1391,11 @@ void java_string_library_preprocesst::initialize_conversion_table()
1391
1391
" java.lang.CharSequence" ,
1392
1392
" java.lang.StringBuffer" };
1393
1393
1394
+ // The following list of function is organized by libraries, with
1395
+ // constructors first and then methods in alphabetic order.
1396
+ // Methods that are not supported here should ultimately have Java models
1397
+ // provided for them in the class-path.
1398
+
1394
1399
// String library
1395
1400
conversion_table
1396
1401
[" java::java.lang.String.<init>:(Ljava/lang/String;)V" ]=
@@ -1576,32 +1581,31 @@ void java_string_library_preprocesst::initialize_conversion_table()
1576
1581
[" java::java.lang.StringBuilder.<init>:()V" ]=
1577
1582
ID_cprover_string_empty_string_func;
1578
1583
1579
- cprover_equivalent_to_java_assign_and_return_function
1580
- [" java::java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;" ]=
1581
- ID_cprover_string_concat_bool_func;
1582
1584
cprover_equivalent_to_java_assign_and_return_function
1583
1585
[" java::java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;" ]=
1584
1586
ID_cprover_string_concat_char_func;
1585
1587
cprover_equivalent_to_java_assign_and_return_function
1586
1588
[" java::java.lang.StringBuilder.append:([C)"
1587
1589
" Ljava/lang/StringBuilder;" ]=
1588
1590
ID_cprover_string_concat_func;
1589
- cprover_equivalent_to_java_assign_and_return_function
1590
- [" java::java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)"
1591
- " Ljava/lang/StringBuilder;" ]=
1592
- ID_cprover_string_concat_func;
1593
- cprover_equivalent_to_java_assign_and_return_function
1594
- [" java::java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)"
1595
- " Ljava/lang/StringBuilder;" ]=
1596
- ID_cprover_string_concat_func;
1597
-
1598
1591
cprover_equivalent_to_java_assign_and_return_function
1599
1592
[" java::java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;" ]=
1600
1593
ID_cprover_string_concat_double_func;
1601
1594
cprover_equivalent_to_java_assign_and_return_function
1602
- [" java::java.lang.StringBuilder.append:(Ljava/lang/String;)"
1603
- " Ljava/lang/StringBuilder;" ]=
1604
- ID_cprover_string_concat_func;
1595
+ [" java::java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)"
1596
+ " Ljava/lang/StringBuilder;" ]=
1597
+ ID_cprover_string_concat_func;
1598
+ cprover_equivalent_to_java_assign_and_return_function
1599
+ [" java::java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)"
1600
+ " Ljava/lang/StringBuilder;" ]=
1601
+ ID_cprover_string_concat_func;
1602
+ cprover_equivalent_to_java_assign_and_return_function
1603
+ [" java::java.lang.StringBuilder.append:(Ljava/lang/String;)"
1604
+ " Ljava/lang/StringBuilder;" ]=
1605
+ ID_cprover_string_concat_func;
1606
+ cprover_equivalent_to_java_assign_and_return_function
1607
+ [" java::java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;" ]=
1608
+ ID_cprover_string_concat_bool_func;
1605
1609
cprover_equivalent_to_java_assign_and_return_function
1606
1610
[" java::java.lang.StringBuilder.appendCodePoint:(I)"
1607
1611
" Ljava/lang/StringBuilder;" ]=
@@ -1625,17 +1629,17 @@ void java_string_library_preprocesst::initialize_conversion_table()
1625
1629
[" java::java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;" ]=
1626
1630
ID_cprover_string_delete_char_at_func;
1627
1631
cprover_equivalent_to_java_assign_and_return_function
1628
- [" java::java.lang.StringBuilder.insert:(IZ)Ljava/lang/StringBuilder;" ]=
1629
- ID_cprover_string_insert_bool_func;
1630
- cprover_equivalent_to_java_assign_and_return_function
1631
- [" java::java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;" ]=
1632
- ID_cprover_string_insert_char_func;
1632
+ [" java::java.lang.StringBuilder.insert:(IC)Ljava/lang/StringBuilder;" ]=
1633
+ ID_cprover_string_insert_char_func;
1633
1634
cprover_equivalent_to_java_assign_and_return_function
1634
1635
[" java::java.lang.StringBuilder.insert:(I[C)Ljava/lang/StringBuilder;" ]=
1635
1636
ID_cprover_string_insert_func;
1636
1637
cprover_equivalent_to_java_assign_and_return_function
1637
1638
[" java::java.lang.StringBuilder.insert:(I[CII)Ljava/lang/StringBuilder;" ]=
1638
1639
ID_cprover_string_insert_func;
1640
+ cprover_equivalent_to_java_assign_and_return_function
1641
+ [" java::java.lang.StringBuilder.insert:(IZ)Ljava/lang/StringBuilder;" ]=
1642
+ ID_cprover_string_insert_bool_func;
1639
1643
cprover_equivalent_to_java_assign_and_return_function
1640
1644
[" java::java.lang.StringBuilder.insert:(II)Ljava/lang/StringBuilder;" ]=
1641
1645
ID_cprover_string_insert_int_func;
@@ -1648,7 +1652,12 @@ void java_string_library_preprocesst::initialize_conversion_table()
1648
1652
ID_cprover_string_insert_func;
1649
1653
conversion_table
1650
1654
[" java::java.lang.StringBuilder.length:()I" ]=
1651
- conversion_table[" java::java.lang.String.length:()I" ];
1655
+ std::bind (
1656
+ &java_string_library_preprocesst::make_string_length_code,
1657
+ this ,
1658
+ std::placeholders::_1,
1659
+ std::placeholders::_2,
1660
+ std::placeholders::_3);
1652
1661
cprover_equivalent_to_java_assign_function
1653
1662
[" java::java.lang.StringBuilder.setCharAt:(IC)V" ]=
1654
1663
ID_cprover_string_char_set_func;
@@ -1683,9 +1692,6 @@ void java_string_library_preprocesst::initialize_conversion_table()
1683
1692
[" java::java.lang.StringBuffer.<init>:()V" ]=
1684
1693
ID_cprover_string_empty_string_func;
1685
1694
1686
- cprover_equivalent_to_java_assign_and_return_function
1687
- [" java::java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;" ]=
1688
- ID_cprover_string_concat_bool_func;
1689
1695
cprover_equivalent_to_java_assign_and_return_function
1690
1696
[" java::java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;" ]=
1691
1697
ID_cprover_string_concat_char_func;
@@ -1709,6 +1715,9 @@ void java_string_library_preprocesst::initialize_conversion_table()
1709
1715
[" java::java.lang.StringBuffer.append:(Ljava/lang/String;)"
1710
1716
" Ljava/lang/StringBuffer;" ]=
1711
1717
ID_cprover_string_concat_func;
1718
+ cprover_equivalent_to_java_assign_and_return_function
1719
+ [" java::java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;" ]=
1720
+ ID_cprover_string_concat_bool_func;
1712
1721
cprover_equivalent_to_java_assign_and_return_function
1713
1722
[" java::java.lang.StringBuffer.appendCodePoint:(I)"
1714
1723
" Ljava/lang/StringBuffer;" ]=
@@ -1731,9 +1740,6 @@ void java_string_library_preprocesst::initialize_conversion_table()
1731
1740
cprover_equivalent_to_java_assign_and_return_function
1732
1741
[" java::java.lang.StringBuffer.deleteCharAt:(I)Ljava/lang/StringBuffer;" ]=
1733
1742
ID_cprover_string_delete_char_at_func;
1734
- cprover_equivalent_to_java_assign_and_return_function
1735
- [" java::java.lang.StringBuffer.insert:(IZ)Ljava/lang/StringBuffer;" ]=
1736
- ID_cprover_string_insert_bool_func;
1737
1743
cprover_equivalent_to_java_assign_and_return_function
1738
1744
[" java::java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;" ]=
1739
1745
ID_cprover_string_insert_char_func;
@@ -1753,6 +1759,9 @@ void java_string_library_preprocesst::initialize_conversion_table()
1753
1759
[" java::java.lang.StringBuffer.insert:(ILjava/lang/String;)"
1754
1760
" Ljava/lang/StringBuffer;" ]=
1755
1761
ID_cprover_string_insert_func;
1762
+ cprover_equivalent_to_java_assign_and_return_function
1763
+ [" java::java.lang.StringBuffer.insert:(IZ)Ljava/lang/StringBuffer;" ]=
1764
+ ID_cprover_string_insert_bool_func;
1756
1765
conversion_table
1757
1766
[" java::java.lang.StringBuffer.length:()I" ]=
1758
1767
conversion_table[" java::java.lang.String.length:()I" ];
@@ -1763,10 +1772,10 @@ void java_string_library_preprocesst::initialize_conversion_table()
1763
1772
[" java::java.lang.StringBuffer.setLength:(I)V" ]=
1764
1773
ID_cprover_string_set_length_func;
1765
1774
cprover_equivalent_to_java_string_returning_function
1766
- [" java::java.lang.StringBuffer.substring:(II )Ljava/lang/String;" ]=
1775
+ [" java::java.lang.StringBuffer.substring:(I )Ljava/lang/String;" ]=
1767
1776
ID_cprover_string_substring_func;
1768
1777
cprover_equivalent_to_java_string_returning_function
1769
- [" java::java.lang.StringBuffer.substring:(I )Ljava/lang/String;" ]=
1778
+ [" java::java.lang.StringBuffer.substring:(II )Ljava/lang/String;" ]=
1770
1779
ID_cprover_string_substring_func;
1771
1780
conversion_table
1772
1781
[" java::java.lang.StringBuffer.toString:()Ljava/lang/String;" ]=
@@ -1802,12 +1811,12 @@ void java_string_library_preprocesst::initialize_conversion_table()
1802
1811
std::placeholders::_1,
1803
1812
std::placeholders::_2,
1804
1813
std::placeholders::_3);
1805
- cprover_equivalent_to_java_string_returning_function
1806
- [" java::java.lang.Integer.toHexString:(I)Ljava/lang/String;" ]=
1807
- ID_cprover_string_of_int_hex_func;
1808
1814
cprover_equivalent_to_java_function
1809
1815
[" java::java.lang.Integer.parseInt:(Ljava/lang/String;)I" ]=
1810
1816
ID_cprover_string_parse_int_func;
1817
+ cprover_equivalent_to_java_string_returning_function
1818
+ [" java::java.lang.Integer.toHexString:(I)Ljava/lang/String;" ]=
1819
+ ID_cprover_string_of_int_hex_func;
1811
1820
cprover_equivalent_to_java_string_returning_function
1812
1821
[" java::java.lang.Integer.toString:(I)Ljava/lang/String;" ]=
1813
1822
ID_cprover_string_of_int_func;
0 commit comments