4org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest1.263test447119d - Eclipse/Javac standard output mismatch.
----------- Expected ------------
Lambda binds to: X.noop\n
Methods (with generics):\n
[- java.util.List<java.lang.String> noop(java.util.List<java.lang.String>)]
------------ but was ------------
--------- Difference is ----------
expected:<[Lambda binds to: X.noop\n
Methods (with generics):\n
[- java.util.List<java.lang.String> noop(java.util.List<java.lang.String>)]]> but was:<[]>junit.framework.ComparisonFailure: test447119d - Eclipse/Javac standard output mismatch.----------- Expected ------------Lambda binds to: X.noop\nMethods (with generics):\n[- java.util.List<java.lang.String> noop(java.util.List<java.lang.String>)]------------ but was --------------------- Difference is ---------- expected:<[Lambda binds to: X.noop\nMethods (with generics):\n[- java.util.List<java.lang.String> noop(java.util.List<java.lang.String>)]]> but was:<[]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:260) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:236) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runJavac(AbstractRegressionTest.java:2068) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2814) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2539) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1491) at org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest.test447119d(LambdaExpressionsTest.java:4989)6test447119d - 1.8falseFAILED----------------------------------------
org.eclipse.jdt.core.tests.compiler.regression.LambdaExpressionsTest#test447119d - 1.8
X.java [
import java.io.ObjectStreamClass;
import java.io.Serializable;
import java.lang.invoke.SerializedLambda;
import java.lang.reflect.Method;
import java.util.List;
import java.util.function.Function;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class X {
private static interface SerializableFunction<A, R> extends Function<A, R>, Serializable { }
private static List<String> noop(List<String> l) { return l; }
public static void main(String[] args) throws Exception {
SerializableFunction<List<String>, List<String>> f = X::noop;
Method invokeWriteReplaceMethod = ObjectStreamClass.class.getDeclaredMethod("invokeWriteReplace", Object.class);
invokeWriteReplaceMethod.setAccessible(true);
SerializedLambda l = (SerializedLambda)invokeWriteReplaceMethod.invoke(ObjectStreamClass.lookupAny(f.getClass()), f);
System.out.println("Lambda binds to: " + l.getImplClass() + "." + l.getImplMethodName());
System.out.println("Methods (with generics):");
List<String> list = new ArrayList<String>();
for(Method m : X.class.getDeclaredMethods()) {
if(m.getName().equals("main")) continue;
if(m.getName().contains("deserializeLambda")) continue;
list.add("- " + m.getGenericReturnType() + " " + m.getName() + "(" + m.getGenericParameterTypes()[0] + ")");
}
Collections.sort(list, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
System.out.println(list.toString());
}
}
]
Full results sent to /tmp/comptest/run.1514610271420/1.8.0_131_20171230_000432.txt