我有一个Kotlin注释:
@Retention(AnnotationRetention.SOURCE)
@Target(AnnotationTarget.CLASS)
annotation class Type(
val type: String
)
可以在Kotlin类上使用:
@Type(type = "type")
data class Annotated(
…
)
我正在使用detekt分析此源代码,该代码可访问Kotlin PSI。为了获得注释,我使用如下代码:
val annotation = klass
.annotationEntries
.find {
"Type" == it?.shortName?.asString()
}
其中,klass
有一种KtClass
来自Kotlin PSI的类型。我注意到,它KtClass
具有两个属性:annotations
和对于上述带注释的类annotationEntries
而言annotations
是空的。
和何时annotations
和annotationEntries
什么时候应该使用什么有什么区别?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句