Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法注释kotlin对象的实例字段?_Java_Kotlin - Fatal编程技术网

Java 有没有办法注释kotlin对象的实例字段?

Java 有没有办法注释kotlin对象的实例字段?,java,kotlin,Java,Kotlin,我有一个Kotlin对象,它有几个字段作为static@JvmFields公开。我使用的解析器(我无法编辑或更改)查找公共静态字段,并基于这些字段创建配置文件。由于INSTANCE字段也是公共的,解析器生成一个名为INSTANCE的新类别。是否有方法将实际注释添加到实例字段?我想添加@Ingore注释,这样解析器就不会使用实例字段。基本上,答案是否定的,Kotlin不允许以任何其他方式注释或更改实例字段。如果您认为这是一项有用的功能,请在提交功能请求 这个问题的有效解决方案是: 使字节码分析工

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

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

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

  • 使字节码分析工具Kotlin能够识别,即使其正确地使用Kotlin声明。虽然这需要做很多琐碎的工作,而且在您的情况下似乎不可能,但这可能是一项宝贵的时间投资

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


解析器只是在运行时扫描所有公共字段。老实说,后处理方法听起来是最可行的。我觉得有点奇怪,我们不能向实例字段添加注释。默认情况下,Kotlin提供了相当多的自由。