Skip to content

Commit e4dc2aa

Browse files
author
Thomas Kiley
authored
Merge pull request diffblue#1946 from thk123/feature/TG-1811/unit-tests-for-invokedynamic-static-lambda
Unit tests for invokedynamic with static lambdas [TG-2811]
2 parents 2b53d3b + 31fa0fe commit e4dc2aa

File tree

9 files changed

+893
-19
lines changed

9 files changed

+893
-19
lines changed

src/java_bytecode/java_bytecode_convert_method_class.h

-2
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,6 @@ class java_bytecode_convert_methodt:public messaget
250250

251251
const bytecode_infot &get_bytecode_info(const irep_idt &statement);
252252

253-
bool class_needs_clinit(const irep_idt &classname);
254-
exprt get_or_create_clinit_wrapper(const irep_idt &classname);
255253
codet get_clinit_call(const irep_idt &classname);
256254

257255
bool is_method_inherited(

unit/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ SRC += unit_tests.cpp \
2121
goto-programs/class_hierarchy_graph.cpp \
2222
goto-programs/remove_virtual_functions_without_fallback.cpp \
2323
java_bytecode/java_bytecode_convert_class/convert_abstract_class.cpp \
24+
java_bytecode/java_bytecode_convert_method/convert_invoke_dynamic.cpp \
2425
java_bytecode/java_bytecode_parse_generics/parse_generic_class.cpp \
2526
java_bytecode/java_object_factory/gen_nondet_string_init.cpp \
2627
java_bytecode/java_bytecode_parse_lambdas/java_bytecode_parse_lambda_method_table.cpp \

unit/java_bytecode/ci_lazy_methods/lazy_load_lambdas.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ SCENARIO(
1818
{
1919
const symbol_tablet symbol_table = load_java_class_lazy(
2020
"LocalLambdas",
21-
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/",
21+
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/"
22+
"openjdk_8_classes",
2223
"LocalLambdas.test");
2324

2425
THEN("Then the lambdas should be loaded")
@@ -68,7 +69,8 @@ SCENARIO(
6869
{
6970
const symbol_tablet symbol_table = load_java_class_lazy(
7071
"MemberLambdas",
71-
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/",
72+
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/"
73+
"openjdk_8_classes",
7274
"MemberLambdas.test");
7375

7476
THEN("Then the lambdas should be loaded")
@@ -117,7 +119,8 @@ SCENARIO(
117119
{
118120
const symbol_tablet symbol_table = load_java_class_lazy(
119121
"StaticLambdas",
120-
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/",
122+
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/"
123+
"openjdk_8_classes",
121124
"StaticLambdas.test");
122125

123126
THEN("Then the lambdas should be loaded")
@@ -166,7 +169,8 @@ SCENARIO(
166169
{
167170
const symbol_tablet symbol_table = load_java_class_lazy(
168171
"OuterMemberLambdas$Inner",
169-
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/",
172+
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/"
173+
"openjdk_8_classes",
170174
"OuterMemberLambdas$Inner.test");
171175

172176
THEN("Then the lambdas should be loaded")
@@ -192,7 +196,8 @@ SCENARIO(
192196
{
193197
const symbol_tablet symbol_table = load_java_class_lazy(
194198
"ExternalLambdaAccessor",
195-
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/",
199+
"./java_bytecode/java_bytecode_parse_lambdas/lambda_examples/"
200+
"openjdk_8_classes",
196201
"ExternalLambdaAccessor.test");
197202

198203
THEN("Then the lambdas should be loaded")

0 commit comments

Comments
 (0)