kotlin.MetaData中保存的数据格式是否在任何地方记录?
我很想知道添加到每个Kotlin类的MetaData注释中保存了哪些数据。
但是大多数领域都没有比这更多的细节
“自定义格式的元数据,不同类型的格式可能不同(甚至不存在)。”
https://github.com/JetBrains/kotlin/blob/master/core/runtime.jvm/src/kotlin/Metadata.kt
是否有参考解释如何解释这些数据?
kotlin.Metadata
包含有关Kotlin符号的信息,例如它们的名称,签名,类型之间的关系等。这些信息中的一些已经存在于类文件的JVM签名中,但很多不是,因为Kotlin JVM类文件无法正确表示的特定事物:类型为可空,可变/只读集合接口,声明站点方差等。
没有采取任何具体行动来公开在这个注解中编码的数据模式,因为对于大多数用户来说,在运行时需要这样的数据来反省一个程序, Kotlin反射库为此提供了一个很好的API。
如果您需要检查Kotlin特定的东西,而这些东西不是通过反射API公开的,或者您只是对其中存储的其他东西感兴趣 ,那么您可以查看kotlinx.reflect.lite的实现。 它是一个轻量级库,其核心是protobuf生成的模式解析器。 目前没有太多的支持,但是有可用的模式来读取您需要的任何其他数据。
- Retrofit-Vertx在Kotlin中使用RxJava2 IllegalStateException消息== null
- forEach里面forEach在Kotlin
- 为什么不能在Kotlin类型参数有其他界限,如果它是由另一个类型的参数?
- Kotlin地图:为什么没有toHashMap()?
- Kotlin:For-loop必须有一个迭代器方法 – 这是一个错误吗?
- Android,Espresso测试不能在Kotlin上编写活动
- 如何使用Android中的Kotlin从NavigationView的headerLayout中指定的布局访问视图
- 片段按钮onClickListener不执行
- kotlin编译器问题未解决的类