我有一个 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/