Commit 0fb0063
committed
Add support for invoke-virtual and invoke-interface lambdas
To support these we store lambda descriptors in the same form as virtual method references,
using class_method_descriptor_exprt, lowering it to a symbol_exprt if we have a known callee.
This is also the first form of synthetic method to produce a virtual method call, hence the
alteration of notify_static_method_calls to tolerate them.1 parent 68222b0 commit 0fb0063
File tree
11 files changed
+260
-173
lines changed- jbmc
- src/java_bytecode
- unit
- java-testing-utils
- java_bytecode/java_bytecode_parse_lambdas
- src/util
11 files changed
+260
-173
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
426 | 426 | | |
427 | 427 | | |
428 | 428 | | |
429 | | - | |
| 429 | + | |
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1228 | 1228 | | |
1229 | 1229 | | |
1230 | 1230 | | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
1234 | 1235 | | |
1235 | 1236 | | |
1236 | 1237 | | |
1237 | 1238 | | |
1238 | 1239 | | |
1239 | 1240 | | |
1240 | | - | |
1241 | | - | |
1242 | | - | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
1243 | 1245 | | |
1244 | 1246 | | |
1245 | 1247 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
228 | 228 | | |
229 | 229 | | |
230 | 230 | | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
| 231 | + | |
| 232 | + | |
239 | 233 | | |
240 | 234 | | |
241 | | - | |
242 | | - | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
243 | 239 | | |
| 240 | + | |
| 241 | + | |
244 | 242 | | |
245 | 243 | | |
246 | | - | |
247 | | - | |
248 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
249 | 251 | | |
| 252 | + | |
250 | 253 | | |
251 | 254 | | |
252 | 255 | | |
253 | 256 | | |
254 | 257 | | |
255 | 258 | | |
256 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
257 | 266 | | |
258 | 267 | | |
259 | 268 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
150 | | - | |
151 | | - | |
| 149 | + | |
152 | 150 | | |
153 | 151 | | |
154 | 152 | | |
| |||
1883 | 1881 | | |
1884 | 1882 | | |
1885 | 1883 | | |
| 1884 | + | |
| 1885 | + | |
| 1886 | + | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
1886 | 1906 | | |
1887 | 1907 | | |
1888 | 1908 | | |
| |||
1900 | 1920 | | |
1901 | 1921 | | |
1902 | 1922 | | |
1903 | | - | |
1904 | | - | |
1905 | | - | |
1906 | | - | |
1907 | | - | |
1908 | | - | |
1909 | 1923 | | |
1910 | 1924 | | |
1911 | 1925 | | |
| |||
1929 | 1943 | | |
1930 | 1944 | | |
1931 | 1945 | | |
1932 | | - | |
1933 | | - | |
1934 | | - | |
| 1946 | + | |
| 1947 | + | |
1935 | 1948 | | |
1936 | | - | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
1937 | 1953 | | |
1938 | | - | |
1939 | | - | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
1944 | | - | |
1945 | | - | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
1946 | 1960 | | |
1947 | 1961 | | |
1948 | 1962 | | |
| |||
2001 | 2015 | | |
2002 | 2016 | | |
2003 | 2017 | | |
2004 | | - | |
| 2018 | + | |
2005 | 2019 | | |
2006 | 2020 | | |
2007 | 2021 | | |
| |||
2028 | 2042 | | |
2029 | 2043 | | |
2030 | 2044 | | |
2031 | | - | |
| 2045 | + | |
2032 | 2046 | | |
2033 | 2047 | | |
2034 | 2048 | | |
| |||
2045 | 2059 | | |
2046 | 2060 | | |
2047 | 2061 | | |
2048 | | - | |
| 2062 | + | |
2049 | 2063 | | |
2050 | 2064 | | |
2051 | 2065 | | |
| |||
2058 | 2072 | | |
2059 | 2073 | | |
2060 | 2074 | | |
2061 | | - | |
| 2075 | + | |
2062 | 2076 | | |
2063 | 2077 | | |
2064 | 2078 | | |
2065 | 2079 | | |
2066 | 2080 | | |
2067 | 2081 | | |
2068 | 2082 | | |
2069 | | - | |
2070 | | - | |
2071 | | - | |
2072 | | - | |
2073 | 2083 | | |
2074 | | - | |
| 2084 | + | |
| 2085 | + | |
2075 | 2086 | | |
2076 | 2087 | | |
2077 | 2088 | | |
| |||
2085 | 2096 | | |
2086 | 2097 | | |
2087 | 2098 | | |
2088 | | - | |
2089 | 2099 | | |
2090 | | - | |
2091 | | - | |
| 2100 | + | |
2092 | 2101 | | |
2093 | | - | |
| 2102 | + | |
| 2103 | + | |
2094 | 2104 | | |
2095 | 2105 | | |
2096 | 2106 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
455 | | - | |
| 455 | + | |
| 456 | + | |
456 | 457 | | |
457 | 458 | | |
458 | 459 | | |
| |||
461 | 462 | | |
462 | 463 | | |
463 | 464 | | |
464 | | - | |
| 465 | + | |
465 | 466 | | |
466 | | - | |
467 | 467 | | |
| 468 | + | |
468 | 469 | | |
469 | 470 | | |
470 | 471 | | |
| |||
474 | 475 | | |
475 | 476 | | |
476 | 477 | | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
477 | 484 | | |
478 | 485 | | |
479 | | - | |
| 486 | + | |
480 | 487 | | |
481 | 488 | | |
482 | 489 | | |
| |||
501 | 508 | | |
502 | 509 | | |
503 | 510 | | |
504 | | - | |
| 511 | + | |
505 | 512 | | |
506 | 513 | | |
507 | 514 | | |
508 | | - | |
| 515 | + | |
509 | 516 | | |
510 | 517 | | |
511 | 518 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
508 | 508 | | |
509 | 509 | | |
510 | 510 | | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
511 | 532 | | |
512 | 533 | | |
513 | 534 | | |
| |||
531 | 552 | | |
532 | 553 | | |
533 | 554 | | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
546 | 561 | | |
547 | 562 | | |
548 | 563 | | |
| |||
611 | 626 | | |
612 | 627 | | |
613 | 628 | | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
614 | 632 | | |
615 | 633 | | |
616 | 634 | | |
| |||
621 | 639 | | |
622 | 640 | | |
623 | 641 | | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
624 | 650 | | |
625 | 651 | | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
631 | 656 | | |
632 | 657 | | |
633 | 658 | | |
634 | | - | |
635 | | - | |
| 659 | + | |
636 | 660 | | |
637 | 661 | | |
638 | 662 | | |
| |||
0 commit comments