From b0bf41968e1ebafc0795d3fe06070269997a8380 Mon Sep 17 00:00:00 2001 From: Daniel Holle Date: Fri, 10 May 2024 16:50:06 +0200 Subject: [PATCH] Bug325 --- resources/bytecode/javFiles/Bug325.jav | 13 +++++++++++++ src/test/java/TestComplete.java | 7 +++++++ 2 files changed, 20 insertions(+) create mode 100644 resources/bytecode/javFiles/Bug325.jav diff --git a/resources/bytecode/javFiles/Bug325.jav b/resources/bytecode/javFiles/Bug325.jav new file mode 100644 index 00000000..6a3a29b1 --- /dev/null +++ b/resources/bytecode/javFiles/Bug325.jav @@ -0,0 +1,13 @@ +import java.lang.Integer; +import java.util.function.Function; +import java.util.List; +import java.util.ArrayList; +import java.util.stream.Stream; + +public class Bug325 { + public main() { + List list = new ArrayList<>(List.of(1,2,3,4,5)); + var func = x -> x*2; + return list.stream().map(func).toList(); + } +} \ No newline at end of file diff --git a/src/test/java/TestComplete.java b/src/test/java/TestComplete.java index 160bc5aa..e5dffc01 100644 --- a/src/test/java/TestComplete.java +++ b/src/test/java/TestComplete.java @@ -1084,6 +1084,13 @@ public class TestComplete { var res = clazz.getDeclaredMethod("convert", List.class).invoke(instance, list); assertEquals(res, List.of(6, 7, 8)); } + @Test + public void testBug325() throws Exception { + var classFiles = generateClassFiles(new ByteArrayClassLoader(), "Bug325.jav"); + var clazz = classFiles.get("Bug325"); + var instance = clazz.getDeclaredConstructor().newInstance(); + clazz.getDeclaredMethod("main").invoke(instance); + } @Test public void testBug326() throws Exception {