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

时间:2018-01-21 01:18:52

标签: java kotlin

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

1 个答案:

答案 0 :(得分:1)

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

此问题的有效解决方案是:

  • 使字节码分析工具知道Kotlin,即使用Kotlin声明使其行为正确。虽然这需要完成非平凡的工作,而且在您的案例中似乎不可能,但这可能是一项宝贵的时间投资。

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