Closed jessejie7 closed 4 years ago
The implementation changed to use defineAnonymousClass to intercept lambda function for JDK 8+ versions.
Have tested that the newly released 5.1.0 implementation work with Java 11.
I also think in the future there seems to be better way to solve this problem: https://bugs.openjdk.java.net/browse/JDK-8205939
But will close this issue now
parseq-lambda-names does not work properly with Java11 as lambdas are no longer passed to the ClassFileTransformer. Here is a more indepth explanation: https://stackoverflow.com/a/33912156.
Here is also a discussion among openjdk devs: http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-January/038316.html
This was not supposed to work in JDK 8 either but it seems that Parseq found a hack for it by checking for this: https://github.com/linkedin/parseq/blob/24f7a90e0f9bcb15cb53123dfaeac2a7aad1a84b/subprojects/parseq-lambda-names/src/main/java/com/linkedin/parseq/lambda/ASMBasedTaskDescriptor.java#L107
This no longer works in Java 11 as no lambda classes are passed through this ClassFileTransformer (I checked all the class names in the parseq-lambda-names:test).