File tree 5 files changed +29
-3
lines changed
regression/cbmc-java/lambda2
5 files changed +29
-3
lines changed Original file line number Diff line number Diff line change
1
+ from https://github.com/symphonyoss/symphony-java-client/
Original file line number Diff line number Diff line change
1
+ KNOWNBUG
2
+ SymStream.class
3
+ --verbosity 10 --show-goto-functions
4
+ lambda function reference org/symphonyoss/symphony/clients/model/SymUser\.toSymUser in class \"SymStream\"
5
+ ^EXIT=0
6
+ ^SIGNAL=0
7
+ --
8
+ --
9
+ lambda functions without "lambda$" prefix aren't recognized currently TG-2691
Original file line number Diff line number Diff line change
1
+ CORE
2
+ SymStream.class
3
+ --verbosity 10 --show-goto-functions
4
+ ^EXIT=0
5
+ ^SIGNAL=0
6
+ --
7
+ --
8
+ just to test that it doesn't crash in this situation, cf. TG-2684
Original file line number Diff line number Diff line change @@ -1893,10 +1893,18 @@ void java_bytecode_parsert::read_bootstrapmethods_entry(classt &parsed_class)
1893
1893
optionalt<lambda_method_handlet> lambda_method_handle =
1894
1894
parse_method_handle (method_handle_infot{method_handle_argument});
1895
1895
1896
- if (
1897
- !lambda_method_handle.has_value () ||
1896
+ if (!lambda_method_handle.has_value ())
1897
+ {
1898
+ lambda_method_handlet lambda_method_handle;
1899
+ lambda_method_handle.handle_type = method_handle_typet::UNKNOWN_HANDLE;
1900
+ lambda_method_handle.u2_values = std::move (u2_values);
1901
+ parsed_class.lambda_method_handle_map [{parsed_class.name , i}] =
1902
+ lambda_method_handle;
1903
+ return ;
1904
+ }
1905
+ else if (
1898
1906
lambda_method_handle->handle_type !=
1899
- method_handle_typet::LAMBDA_METHOD_HANDLE)
1907
+ method_handle_typet::LAMBDA_METHOD_HANDLE)
1900
1908
{
1901
1909
lambda_method_handle->u2_values = std::move (u2_values);
1902
1910
error () << " ERROR: could not parse lambda function method handle"
You can’t perform that action at this time.
0 commit comments