【发布时间】:2018-06-10 14:17:23
【问题描述】:
我有一个使用 ASM 创建代理的 Java 库。
有一次,用户向它发送了一个 Kotlin 类。我可以检测到它是来自 Java 的 Kotlin 类,但我不知道如何从中制作代理?我从此类课程中读到的所有内容都是毫无意义的。
场景如下
- 用户发送一个 Kotlin 类
- 我做代理
- 最后,我创建了一个此类的实例
最好的方法是什么?
编辑
我刚刚意识到我不能覆盖 Kotlin 函数的原因之一是因为它们是作为字节码中的 final 方法生成的。有没有办法告诉 Kotlin 不要这样做?
【问题讨论】:
-
尝试打开 kotlin 类和方法,并检查是否对字节码中的最终方法有帮助
-
是的。使用
open有帮助。 -
这里不完全清楚你在问什么。 Kotlin 类的字节码应该与 Java 类的字节码相当,所以它应该以相同的方式工作。您遇到的具体问题是什么?
标签: java kotlin kotlin-interop