diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/TransformExpect.kt b/src/main/kotlin/me/shedaniel/architect/plugin/TransformExpect.kt index 67fc287..d3be483 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/TransformExpect.kt +++ b/src/main/kotlin/me/shedaniel/architect/plugin/TransformExpect.kt @@ -62,7 +62,7 @@ fun transformExpectPlatform(): (ClassNode, (String, ByteArray) -> Unit) -> Class ) method.instructions.addReturn(returnValue.first { it != '[' }) - method.maxStack = max(1, index) + method.maxStack = -1 } } diff --git a/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt b/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt index e7bbd93..776ae3d 100644 --- a/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt +++ b/src/main/kotlin/me/shedaniel/architect/plugin/utils/Transform.kt @@ -26,7 +26,7 @@ object Transform { if ((reader.access and Opcodes.ACC_MODULE) == 0) { val node = ClassNode(Opcodes.ASM8) reader.accept(node, ClassReader.EXPAND_FRAMES) - val writer = ClassWriter(0) + val writer = ClassWriter(ClassWriter.COMPUTE_MAXS) transform(node) { name, bytes -> File(output.toFile().parentFile, "$name.class").also { it.delete() @@ -48,7 +48,7 @@ object Transform { if ((reader.access and Opcodes.ACC_MODULE) == 0) { val node = ClassNode(Opcodes.ASM8) reader.accept(node, ClassReader.EXPAND_FRAMES) - val writer = ClassWriter(0) + val writer = ClassWriter(ClassWriter.COMPUTE_MAXS) transform(node) { name, bytes -> zipOutputStream.putNextEntry(ZipEntry(name)) zipOutputStream.write(bytes)