Closed yegor256 closed 7 months ago
I am facing the same issues in a java 17 application.
java -jar jpeek-0.32.2-jar-with-dependencies.jar --sources . --target ./jpeek 10004
Exception in thread "main" java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: Records requires ASM8
at org.cactoos.scalar.Unchecked.value(Unchecked.java:58)
at org.jpeek.skeleton.Skeleton.packages(Skeleton.java:153)
at org.jpeek.skeleton.Skeleton.xml(Skeleton.java:113)
at org.jpeek.App.analyze(App.java:148)
at org.jpeek.Main.run(Main.java:152)
at org.jpeek.Main.main(Main.java:125)
Caused by: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: Records requires ASM8
at org.cactoos.func.UncheckedFunc.lambda$apply$0(UncheckedFunc.java:56)
at org.cactoos.scalar.Checked.value(Checked.java:76)
at org.cactoos.scalar.IoChecked.value(IoChecked.java:63)
at org.cactoos.scalar.Unchecked.value(Unchecked.java:56)
at org.cactoos.func.UncheckedFunc.apply(UncheckedFunc.java:57)
at org.cactoos.scalar.Checked.wrappedException(Checked.java:100)
at org.cactoos.scalar.Checked.value(Checked.java:85)
at org.cactoos.scalar.IoChecked.value(IoChecked.java:63)
at org.cactoos.scalar.Unchecked.value(Unchecked.java:56)
... 5 more
Caused by: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: Records requires ASM8
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at org.cactoos.scalar.And.lambda$null$0(And.java:97)
at org.cactoos.scalar.ScalarEnvelope.value(ScalarEnvelope.java:53)
at org.cactoos.scalar.And.value(And.java:152)
at org.cactoos.scalar.AndInThreads.value(AndInThreads.java:229)
at org.cactoos.scalar.AndInThreads.value(AndInThreads.java:57)
at org.cactoos.scalar.Checked.value(Checked.java:76)
... 7 more
Caused by: java.lang.UnsupportedOperationException: Records requires ASM8
at org.objectweb.asm.ClassVisitor.visit(ClassVisitor.java:111)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:569)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
at org.jpeek.skeleton.XmlClass.iterator(XmlClass.java:89)
at org.xembly.Directives.toCollection(Directives.java:562)
at org.xembly.Directives.append(Directives.java:228)
at org.jpeek.skeleton.Skeleton.xembly(Skeleton.java:192)
at org.jpeek.skeleton.Skeleton.lambda$packages$2(Skeleton.java:149)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
@pnatashap maybe you can help in this project too?
@MaltePetersen have you faced with this error on some public repo?
I am about to be sure that the reason is https://github.com/cqfn/jpeek/blob/master/src/main/java/org/jpeek/skeleton/XmlClass.java#L74 it should be Opcodes.ASM8 at least and this error can produce record class (if check the condition from asm library).
Following what @pnatashap pointed, I've changed to ASM9 and it worked nicely both in jpeek test suite as in the project I was running it.
Will check it deeper and add some tests about it to make sure that we know all
@MaltePetersen we haven't released it yet