java - 有没有办法注释 kotlin 对象的 INSTANCE 字段?

标签 java kotlin

我有一个 Kotlin 对象,它有几个字段公开为静态 @JvmFields。我使用的解析器(我无法编辑或更改)查找 public static 字段并基于这些字段创建配置文件。由于 INSTANCE 字段也是公开的,解析器会生成一个名为 instance 的新类别。有没有办法将实际注释添加到 INSTANCE 字段?我想向它添加 @Ingore 注释,以便解析器不使用 INSTANCE 字段。

最佳答案

基本上,答案是否定的,Kotlin 不允许以任何其他方式注释或更改 INSTANCE 字段。如果您认为这可能是一项有用的功能,请在 kotl.in/issue 提交功能请求。 .

这个问题的有效解决方案是:

  • 使字节码分析工具具有 Kotlin 感知能力,即使其能够正确处理 Kotlin 声明。虽然这需要完成不平凡的工作并且在您的情况下似乎不可能,但这可能是宝贵的时间投资。

  • 创建另一个临时工具,对 Kotlin 编译器生成的类进行后处理并添加您需要的注释,然后将该工具包含到您的构建中。

关于java - 有没有办法注释 kotlin 对象的 INSTANCE 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48362766/

相关文章:

android - 使用 kotlin for android 应用程序将 pdf 文件上传到 firebase 存储

Kotlin:将 ArrayList<String!> 转换为 Array<String>

java - 如何在 iBatis 中获取排序后的结果?

java - 使用 Selenium 在没有 Select 标签的情况下自动化下拉框

java - 在类中实现后覆盖接口(interface)中声明的方法的返回类型

java - 由 : org. apache.logging.log4j.LoggingException 引起:log4j-slf4j-impl cannot be present with log4j-to-slf4j

java - 使用继承来复用toString/equals/hashCode

kotlin - AT符号在KOTLIN中是什么意思

android - 如何使用 Compose 渲染普通的 android ProgressBar?

android - 无法下载 kotlin-compiler-embeddable.jar