- changed status to resolved
Lambda expression causes unused class to be generated
Issue #222
resolved
ExtendJ 8.0.1-218-g7c6c778 Java SE 8
ExtendJ generates an extra, unused, classfile.
Test code:
import java.util.*; public class M28 { public int field = 3; public interface A { public B m(int i); } public interface B { public boolean m(); } public A getA() { return field -> () -> { return this.field == field; }; } public static void main(String[] arg) { M28 t = new M28(); A a = t.getA(); } }
Expected result: No unused classfiles are generated.
Actual result:
The following classfiles are generated when compiling the test code with ExtendJ: M28.class
, M28$A.class
, M28$B.class
, M28$1.class
, M28$1$2.class
, M28$3.class
.
The classfile M28$3.class
is not reachable from M28.class
and should not be generated.
Comments (1)
-
reporter - Log in to comment
Avoid redundant generated lambda classes
fixes
#222→ <<cset fec29acf5a00>>