Hi, we are using Kotlin to write code in CoSpaces
Also we compile our code with TeaVM and GraalVM.
And recently we found an issue with GraalVM, it throws an error that
java.lang.NoClassDefFoundError: delightex/api/uibuilder/example/TodoKt$todoList$2$2
at parsing delightex.api.uibuilder.example.TodoKt$todoList$$inlined$vflow$lambda$3.invoke(todo.kt:163)
However, when I disassemble the file I could not find any references to the “TodoKt$todoList$2$2”
this is the disassembled by javap file.
jdec.app produces this
Any advice ?
Thanks
When I look at the disassembly there is no reference to that particular class name. There is a related one: delightex/api/uibuilder/example/TodoKt$todoList$2$2$3
. with the trailing $3
. However, realise that loading classes requires further classes to be loaded. Looking at things, it seems we are working with nested lambdas. In the JVM nested classes do refer to their outer class. So it would be expected that a $2$2
class also exists (as well as only $2
).
Are you using some form of minifier? When you look at your class files, which class files exist?
Hello, no, we dont use any minifies.
This is the list al all classes generated:
Todo.class
TodoKt.class
TodoKt$defaultStyle$1.class
TodoKt$defaultStyle$3.class
TodoKt$defaultStyle$5.class
TodoKt$defaultStyle$7.class
TodoKt$defaultStyle$9.class
TodoKt$defaultStyle$11.class
TodoKt$defaultStyle$13.class
TodoKt$defaultStyle$15.class
TodoKt$defaultStyle$17.class
TodoKt$defaultStyle$19.class
TodoKt$defaultStyle$21.class
TodoKt$defaultStyle$23.class
TodoKt$defaultStyle$25.class
TodoKt$defaultStyle$27.class
TodoKt$defaultStyle$29.class
TodoKt$main$1.class
TodoKt$todoList$$inlined$vflow$lambda$1.class
TodoKt$todoList$$inlined$vflow$lambda$2.class
TodoKt$todoList$$inlined$vflow$lambda$3.class
TodoKt$todoList$$inlined$vflow$lambda$3$1.class
TodoKt$todoList$$inlined$vflow$lambda$3$2.class
TodoKt$todoList$$inlined$vflow$lambda$3$2$1.class
TodoKt$todoList$$inlined$vflow$lambda$4.class
TodoKt$todoList$$inlined$vflow$lambda$5.class
TodoKt$todoList$$inlined$vflow$lambda$5$1.class
TodoKt$todoList$$inlined$vflow$lambda$6.class
TodoKt$todoList$$inlined$vflow$lambda$7.class
TodoKt$todoList$$inlined$vflow$lambda$7$1.class
TodoKt$todoList$$inlined$vflow$lambda$7$1$1.class
TodoKt$todoList$$inlined$vflow$lambda$7$2.class
TodoKt$todoList$$inlined$vflow$lambda$7$3.class
TodoKt$todoList$$inlined$vflow$lambda$7$4.class
TodoKt$todoList$$inlined$vflow$lambda$8.class
TodoKt$todoList$$inlined$vflow$lambda$8$1.class
TodoKt$todoList$$inlined$vflow$lambda$9.class
TodoKt$todoList$$inlined$vflow$lambda$10.class
TodoKt$todoList$1.class
TodoKt$todoList$1$1.class
TodoKt$todoList$2$2$3.class
TodoModel.class